OffshoreVps
Tutoriales12 oct 20267 min de lecturaPor el equipo de OffshoreVps

Cómo instalar Docker y Docker Compose en un VPS con Ubuntu

Instala Docker Engine desde el repositorio oficial, ejecútalo sin sudo, lanza un primer servicio con Compose y evita la trampa del cortafuegos que expone puertos.

Docker te permite ejecutar bases de datos, aplicaciones web y herramientas en contenedores aislados, así que instalar algo nuevo nunca desordena el resto de tu servidor. Esta guía instala Docker Engine y Docker Compose en Ubuntu y ejecuta un primer servicio real.

Ventana de terminal en un VPS que muestra los comandos usados para instalar Docker en un VPS Ubuntu, empezando por “sudo apt update”
El tipo de comandos que ejecutarás en tu servidor en esta guía.

1. Instala desde el repositorio de Docker

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

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Comprueba la instalación con sudo docker run hello-world.

2. Ejecuta Docker sin sudo

sudo usermod -aG docker $USER
newgrp docker

Los miembros del grupo docker tienen en la práctica poder de nivel root sobre la máquina, así que añade solo a usuarios de confianza.

3. Tu primer archivo Compose

Crea una carpeta y un compose.yaml que ejecute la herramienta de monitorización Uptime Kuma:

mkdir -p ~/kuma && cd ~/kuma
cat > compose.yaml <<'EOF'
services:
  kuma:
    image: louislam/uptime-kuma:1
    restart: unless-stopped
    ports:
      - "127.0.0.1:3001:3001"
    volumes:
      - ./data:/app/data
EOF
docker compose up -d

Enlazar a 127.0.0.1 mantiene el puerto fuera de internet público. Coloca un proxy inverso como Nginx o Caddy delante cuando quieras acceder desde fuera.

Los pasos de esta guía en orden: 1. 1. Instala desde el repositorio de Docker; 2. 2. Ejecuta Docker sin sudo; 3. 3. Tu primer archivo Compose; 4. Comandos de uso diario; 5. Una advertencia de seguridad sobre los cortafuegos; 6. Qué ejecutar después
Los pasos de esta guía, en orden.

Comandos del día a día

  • docker ps lista los contenedores en ejecución.
  • docker compose logs -f sigue los registros.
  • docker compose pull && docker compose up -d actualiza a imágenes más nuevas.
  • docker system prune elimina imágenes sin usar y contenedores detenidos.

Una advertencia de seguridad sobre los firewalls

Docker escribe sus propias reglas de iptables. Un puerto publicado como "8080:80" puede ser accesible desde internet aunque UFW diga que está bloqueado. Publica solo lo que deba ser público, enlaza los servicios privados a 127.0.0.1 y prueba desde fuera con un escáner de puertos.

Qué ejecutar a continuación

Entre las aplicaciones autoalojadas populares están Nextcloud, Vaultwarden, Gitea, Plausible, n8n y Jellyfin. Consulta nuestra guía para autoalojar Nextcloud para ver un ejemplo completo.