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.
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.
Comandos del día a día
docker pslista los contenedores en ejecución.docker compose logs -fsigue los registros.docker compose pull && docker compose up -dactualiza a imágenes más nuevas.docker system pruneelimina 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.