martes, 12 de enero de 2021

Docker Compose

 Docker Compose es una herramienta que permite simplificar el uso de Docker con la utilización de archivos YAML (docker-compose.yml), gracias a esta herramienta podremos crear distintos contenedores, y en cada uno crear diferentes servicios. 

El archivo compose debe estar colocado en la ráiz del proyecto.

Algunos de los comandos más comunes que nos podemos encontrar son:

  • version: muestra la versión de docker-compose. 

  • build: Construye las imágenes de los servicios indicados en el docker-compose file.

  • up: crea y levanta los servicios indicados en el docker-compose file, con el argumento -d lo hace en segundo plano.

  • down: Para todo los servicios indicados en el docker-compose file, destruyendo los contenedores.

  • stop: Solo para los servicios no destruye los contenedores.

  • start: solo levanta los servicios pero no los crea.

  • restart: Reinicia todos los servicios.

Usar Compose es básicamente un proceso de 3 pasos. 

  1. Definir el  entorno de la aplicación con un Dockerfile. 
  2. Definir los servicios que conforman la aplicación en docker-compose.yml para que puedan ejecutarse juntos en un entorno aislado.
  3. Ejecutar docker-compose up y se iniciará y ejecutará toda la aplicación.
  4.  

Veamos un ejemplo sencillo de un archivo yml:

version : "3.8"
services:
    imagen1:
        image: imagen1:1.0
        ports:
            - 80:80
        restart: always
        volumes:
            - app-volume:/var/www/html

version: Es lo primero que definifimos en el archivo y se aconseja utilizar la última versión admitida en Referencia de archivos de Compose 

service: Contiene los contenedores que se crearán para desplegar nuestra aplicación.

En  esta entrada podremos ver más detalles de un docker-compose.yml