Docker Compose en Debian: instalación y proyecto de prueba
En Debian puedes instalar Docker Engine y el plugin Compose desde el repositorio oficial compatible con tu distribución. No copies la URL de Ubuntu cambiando únicamente un nombre de versión: el repositorio debe corresponder al sistema.
Consulta versiones y arquitecturas soportadas antes de iniciar. Si ya hay contenedores o paquetes de runtime, revisa dependencias y datos antes de reemplazar componentes.
Identifica Debian y arquitectura
cat /etc/os-release
dpkg --print-architecture
dpkg -l | grep -E 'docker|containerd|runc'
En derivados, VERSION_CODENAME puede no ser el codename Debian que necesita el repositorio. Utiliza instrucciones específicas de la distribución.
Añade clave y repositorio
En una instalación Debian soportada:
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg \
-o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
. /etc/os-release
sudo tee /etc/apt/sources.list.d/docker.sources >/dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: $VERSION_CODENAME
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
Revisa el archivo y no ignores errores de firma. La documentación oficial enumera paquetes incompatibles; elimínalos solo después de comprobar que no sostienen otra plataforma.
Instala y verifica
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin
sudo docker version
sudo docker compose version
sudo docker run --rm hello-world
Los permisos del daemon requieren una decisión. Añadir usuarios al grupo docker concede acceso sensible; cambiar el socket a escritura global no es una reparación aceptable.
Primer Compose local
En una carpeta nueva, guarda compose.yaml:
services:
web:
image: nginx:stable-alpine
ports:
- "127.0.0.1:8080:80"
Valida e inicia:
sudo docker compose config --quiet
sudo docker compose up -d
curl -I http://127.0.0.1:8080
sudo docker compose logs --tail 20
La imagen sigue una etiqueta que puede cambiar. Registra versión o digest si necesitas reproducir la práctica.
Detener y mantener
stop conserva contenedores; down retira recursos del proyecto según su configuración. La opción -v elimina volúmenes y no debe copiarse como limpieza automática de aplicaciones con datos.
Documenta nombre y carpeta del proyecto y mantén paquetes e imágenes. Actualizar el motor no actualiza automáticamente las aplicaciones.
Errores de origen y versión
Si apt no encuentra el paquete, revisa codename, archivo del repositorio y resultado de apt update. No añadas varios repositorios de distribuciones distintas hasta que alguno responda.
Si Compose no aparece, comprueba el plugin y utiliza docker compose, con espacio. Un ejecutable legado puede pertenecer a otra instalación.
Qué registrar para reproducir la práctica
Conserva versión de Debian, arquitectura, origen de paquetes y salida de versión del motor y el plugin. Si el proyecto usa un volumen, identifica también su nombre real y cómo se respalda. Esa información permite distinguir un cambio de distribución de un problema del archivo Compose.
Antes de actualizar, revisa qué servicios están activos y prueba la recreación en una copia. No utilices una limpieza global de Docker para resolver un error de un único proyecto.
Preguntas frecuentes
¿Puedo usar el repositorio Ubuntu en Debian?
No como procedimiento general. Utiliza el origen y versiones que indique Docker para Debian.
¿Debo ejecutar docker-compose?
Esta guía utiliza el plugin docker compose. Revisa instalaciones antiguas antes de mezclar ambos comandos.
¿La configuración local ya es una web pública?
No. El puerto está ligado a loopback y faltan decisiones de dominio, TLS, acceso y mantenimiento.
En pocas palabras
Debian y Ubuntu tienen procedimientos parecidos, pero no comparten necesariamente repositorios ni codenames. El plugin Compose debe instalarse desde un origen compatible con el motor elegido.
Conclusión
Conserva el origen de paquetes y verifica qué recursos crea cada proyecto. Antes de añadir bases de datos, aprende a mantener volúmenes y preparar una recuperación.
Para continuar, revisa Docker: qué es y cómo usarlo para ejecutar contenedores y Cómo instalar Docker en Ubuntu 24.04: guía práctica paso a paso.
