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