Docker Compose en Ubuntu: instala y prueba el plugin
En Ubuntu, Docker Compose puede instalarse como plugin de Docker y utilizarse mediante docker compose. Esta guía muestra cómo comprobar su instalación y administrar un proyecto pequeño. No mezcla el plugin con el ejecutable legado docker-compose.
Necesitas Docker funcionando y permisos para utilizar su daemon. Si ya lo instalaste mediante el repositorio oficial, puedes añadir el paquete del plugin desde el mismo origen.
Instala y comprueba
sudo apt update
sudo apt install docker-compose-plugin
docker compose version
docker version
Si Docker necesita sudo en tu configuración, utilízalo también en las operaciones del proyecto. No hagas público el socket para evitar un error de permisos. En Docker Desktop, Compose suele formar parte de la instalación; comprueba antes de añadir otro método.
Crea un proyecto de práctica
En una carpeta nueva guarda un archivo compose.yaml:
services:
web:
image: nginx:stable-alpine
ports:
- "127.0.0.1:8080:80"
No necesitas añadir la propiedad superior version para describir este proyecto con Compose actual. El puerto se publica en loopback para mantener la prueba en tu computadora. La etiqueta de imagen puede recibir actualizaciones; registra un digest si necesitas fijar una revisión exacta.
Valida antes de iniciar
docker compose config --quiet
docker compose up -d
docker compose ps
curl -I http://127.0.0.1:8080
docker compose logs --tail 30 web
La validación encuentra problemas de estructura o interpolación, pero no acredita que la aplicación esté configurada correctamente. Una contraseña equivocada, una ruta inexistente o un puerto ocupado pueden aparecer después.
El comando config sin --quiet puede mostrar valores interpolados. Si tu proyecto usa datos sensibles, no publiques su salida completa ni la adjuntes a un reporte sin revisarla.
Entiende el nombre del proyecto
Compose agrupa sus recursos bajo un proyecto. Cambiar de directorio o usar otro nombre puede crear contenedores y volúmenes diferentes. Eso explica por qué una aplicación puede parecer nueva aunque los datos anteriores sigan existiendo.
Mantén una convención de nombres y documenta desde qué carpeta se administra el entorno. Si utilizas -p para indicar el proyecto, hazlo de manera consistente en los comandos posteriores.
Detener, recrear y eliminar
docker compose stop
docker compose start
docker compose down
stop conserva contenedores para iniciarlos después. down retira contenedores y redes del proyecto según su configuración. La opción -v añade eliminación de volúmenes y no debe usarse sin revisar qué información contienen.
Cambiar la imagen o la configuración puede provocar una recreación. Los datos importantes deben estar en almacenamiento persistente adecuado, con respaldo. La capa de escritura del contenedor no es un lugar seguro para información que necesitas conservar.
Variables, secretos y dependencias
Un archivo .env facilita interpolar configuración, pero no convierte una contraseña en un secreto cifrado. Evita subirlo a Git y consulta los mecanismos de secretos del servicio o plataforma.
depends_on puede expresar orden y, con condiciones apropiadas, esperar salud. No sustituye reintentos de conexión dentro de una aplicación. Un proceso puede estar iniciado y todavía no aceptar solicitudes.
Diagnóstico de problemas comunes
Si el puerto está ocupado, identifica el proceso y decide si debes cambiar el puerto del laboratorio. Si una imagen no descarga, verifica nombre, registro y arquitectura. Si un servicio reinicia repetidamente, empieza por sus logs.
No borres todos los recursos de Docker para resolver un único proyecto. Delimitar el problema evita perder volúmenes de otras aplicaciones.
Preguntas frecuentes
¿Por qué docker-compose y docker compose no responden igual?
Pueden corresponder a instalaciones o generaciones distintas. Esta guía utiliza el plugin integrado; revisa qué ejecutable tienes antes de mezclar instrucciones.
¿Un archivo .env protege mis contraseñas?
No por sí solo. Es configuración en un archivo que necesita permisos y exclusión del repositorio. Los mecanismos de secretos también requieren protección del host.
¿Puedo usar Compose en producción?
Es posible en determinados diseños, pero requiere decisiones de actualización, respaldo, acceso y disponibilidad. Un archivo que funciona localmente no demuestra que esas necesidades estén cubiertas.
En pocas palabras
El plugin actual se utiliza con docker compose, separado por un espacio. El archivo declara servicios y recursos, pero debes entender qué crea y qué elimina cada comando.
Conclusión
Conserva el Compose junto con instrucciones de preparación y respaldo. Antes de incorporar una base de datos, practica el ciclo de validar, iniciar, revisar y retirar un proyecto sencillo.
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.
