Instalar Docker Compose en Debian 9
Cómo instalar Docker Compose y ejecutar una aplicación multi-contenedor en Debian 9.
Docker Compose es una herramienta para definir y ejecutar aplicaciones Docker multicontenedor. Los servicios se configuran en un archivo YAML, lo que permite levantar todo el entorno con un único comando.
Características principales:
- múltiples entornos aislados en un mismo host;
- los datos de los volúmenes se conservan al recrear los contenedores;
- solo se recrean los contenedores que han cambiado;
- las variables pueden transferirse entre entornos.
Antes de instalar Docker Compose, asegúrate de que Docker ya esté instalado — consulta Instalación de Docker en Debian 9.
Instalación
Descarga Docker Compose desde el repositorio de GitHub. Comprueba la última versión disponible y actualiza el número de versión en el comando si es necesario:
sudo curl -L https://github.com/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
Asigna el permiso de ejecución:
sudo chmod +x /usr/local/bin/docker-compose
Verifica la instalación:
docker-compose --version
Salida esperada:
docker-compose version 1.25.5, build 8a1c60f6
Ejecutar un contenedor con Docker Compose
Crea un directorio para el proyecto de prueba y accede a él:
mkdir hello-world
cd hello-world
Crea un archivo docker-compose.yml:
nano docker-compose.yml
Añade el siguiente contenido y guarda el archivo:
my-test:
image: hello-world
La primera línea define parte del nombre del contenedor, la segunda especifica la imagen. Cuando se ejecuta docker-compose up, Docker busca primero la imagen en local y, si no la encuentra, la descarga de Docker Hub.
Comprueba la lista de imágenes locales:
docker images
Si no hay imágenes, solo aparecerán las cabeceras de las columnas:
REPOSITORY TAG IMAGE ID CREATED SIZE
Inicia el contenedor:
docker-compose up
Docker descargará la imagen, creará el contenedor y lo ejecutará:
Creating hello-world_my-test_1 ... done
Attaching to hello-world_my-test_1
my-test_1 |
my-test_1 | Hello from Docker!
my-test_1 | This message shows that your installation appears to be working correctly.
...
hello-world_my-test_1 exited with code 0
El contenedor se detiene al finalizar el programa. No aparecerá en la lista de procesos activos:
docker ps
Para ver todos los contenedores, incluidos los detenidos, usa el flag -a:
docker ps -a
Ejemplo de salida:
CONTAINER ID IMAGE COMMAND CREATED STATUS NAMES
4e8158d490ac hello-world "/hello" 7 minutes ago Exited (0) 7 minutes ago hello-world_my-test_1
Ayuda
¿Tienes dudas o necesitas ayuda? Escríbenos a través del sistema de tickets — siempre estamos aquí para ayudarte!