Docker empaqueta una app y todo lo que necesita en un contenedor que se ejecuta igual en cualquier sitio: la forma más limpia de autoalojar servicios en un VPS. La única pega en Ubuntu y Debian es que la versión del propio repositorio de la distro suele ser antigua y viene sin el plugin moderno de Compose. Instala en su lugar desde el repositorio oficial de Docker. Aquí está todo el proceso.
1. Configura el repositorio oficial de Docker (Ubuntu)
sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \
https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
2. Instala Docker Engine y Compose
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
3. Confirma que está en marcha y habilitado al arrancar
sudo systemctl enable --now docker
sudo docker run --rm hello-world
El contenedor hello-world se descarga, imprime un mensaje de éxito y termina: prueba de que el motor funciona.
4. (Opcional) Ejecuta Docker sin sudo
sudo usermod -aG docker $USER
# cierra sesión y vuelve a entrar para que el grupo tenga efecto
Haz esto solo para un usuario de confianza: el acceso al grupo docker equivale en la práctica a root en el servidor.
Un contenedor real y rápido
docker run -d --restart unless-stopped -p 8080:80 --name web nginx
# visita http://YOUR.SERVER.IP:8080
--restart unless-stopped es lo que hace que el contenedor vuelva después de un reinicio.
Advertencias honestas
- Usa el repositorio oficial para tener una versión actual; el paquete
docker.iode la distro se queda atrás y carece del plugin de Compose. - Abre solo los puertos que publicas. El
-p 8080:80de un contenedor expone el 8080: combina Docker con un cortafuegos UFW. - Dimensiona el servidor según los contenedores, no según Docker en sí, que es ligero.
Siguientes pasos
Con Docker instalado puedes autoalojar casi cualquier cosa. Mira autoalojar varios servicios detrás de una sola IP, o builds concretos de Docker como un servidor de escritorio remoto RustDesk y monitorización con Uptime Kuma. Para poner un dominio y HTTPS delante, mira cómo configurar un proxy inverso nginx.
Comentarios
Aún no hay comentarios. Sé el primero.