Saltar la navegación

7.3 La orden docker-compose

PUESTA EN MARCHA DE LOS SERVICIOS

Una vez hemos creado el archivo docker-compose.yml tenemos que empezar a trabajar con él, es decir a crear los contenedores que describe su contenido.

Esto lo haremos mediante el ejecutable docker-compose.ES IMPORTANTE DESTACAR QUE DEBEMOS INVOCARLA DESDE EL DIRECTORIO EN EL QUE SE ENCUENTRA EL FICHERO docker-compose.yml.

Esta herramienta (docker-compose) tiene muchos subcomandos y estos subcomandos, a su vez, tienen u montón de opciones. Nos vamos a centrar en ejemplificar con las combinaciones más comunes y además pondremos una lista de aquellas que también pueden resultar interesantes:

#Obtener la versión de docker-compose.

> docker-compose --version

# Crear los contenedores (servicios) que están descritos en el docker-compose.yml.

> docker-compose up

# Crear en modo detach los contenedores (servicios) que están descritos en el docker-compose.yml. Eso significa que no muestran mensajes de log en el terminal y que se  nos vuelve a mostrar un prompt.

> docker-compose up -d

# Detiene los contenedores que previamente se han lanzado con docker-compose up.

> docker-compose stop

# Inicia los contenedores descritos en el docker-compose.yml que estén parados.

> docker-compose run

# Pausa los contenedores que previamente se han lanzado con docker-compose up.

> docker-compose pause

# Reanuda los contenedores que previamente se han pausado.

> docker-compose unpause

# Reinicia los contenedores. Orden ideal para reiniciar servicios con nuevas configuraciones.

> docker-compose restart

# Para los contenedores, los borra  y también borra las redes que se han creado con docker-compose up (en caso de haberse creado).

> docker-compose down

# Para los contenedores y borra contenedores, redes y volúmenes

> docker-compose down -v

# Muestra los logs del servicio llamado servicio1 que estaba descrito en el docker-compose.yml.

> docker-compose logs servicio1

# Ejecuta una orden, en este caso /bin/bash en un contenedor llamado servicio1 que estaba descrito en el docker-compose.yml

> docker-compose exec servicio1 /bin/bash

Algunos otros subcomandos interesante son:

  • docker-compose build que ejecutaría, si está indicado, el proceso de construcción de una imagen que va a ser usado en el docker-compose.yml  a partir de los  ficheros Dockerfile que se indican.
  • docker-compose top que muestra  los procesos que están ejecutándose en cada uno de los contenedores de los servicios.

IMPORTANTE (REPITIENDO): DEBEMOS LLAMAR A LA DOCKER-COMPOSE DESDE EL DIRECTORIO DONDE ESTÁ EL FICHERO DOCKER-COMPOSE.YML

Creado con eXeLearning (Ventana nueva)