Prologo: (Docker-Compose es una herramienta para definir y ejecutar aplicaciones múltiple contenedores. Compose, usa un archivo YAML para configurar los servicios. Y con un solo comando, crea e inicia todos los servicios).
Descripción-Compose
Proceso-Compose:
- Definir los servicios que componen su aplicación docker-compose.yml para que puedan ejecutarse juntos en un entorno aislado.
- Ejecutar docker compose up y el comando de composición de Docker se inicia y ejecuta toda la aplicación.
Control ciclo de vida por medio de comando:
- Iniciar, detener y reconstruir servicios
- Ver el estado de los servicios en ejecución
- Transmita la salida del registro de los servicios en ejecución
- Ejecutar un comando único en un servicio
Características:
- Múltiples entornos aislados en un solo host
- Conservar los datos de volumen cuando se crean contenedores
- Solo recrear contenedores que hayan cambiado
- Variables y movimiento de una composición entre entornos
Múltiples entornos aislados en un solo host :
-. Compose utiliza un nombre de proyecto para aislar los entornos entre sí.
- El nombre del proyecto predeterminado es el nombre base del directorio del proyecto. Puede establecer un nombre de proyecto personalizado mediante la -p opción de línea de comando o la COMPOSE_PROJECT_NAME variable de entorno.
- El directorio del proyecto predeterminado es el directorio base del archivo Compose. Se puede definir un valor personalizado con la –project-directory opción de línea de comando.
Los Datos-Volumen son persistente:
-. Compose conserva todos los volúmen utilizados por los servicio. Si ejecutamos docker-compose up , si encuentra volumen de ejecuciones anteriores, copia los volúmen del contenedor antiguo al contenedor nuevo. Este garantiza que los datos que haya creado en volúmen sean persistente
Recrear contenedores que hayan cambiado:
-. Cuando reinicia un servicio que no ha cambiado,Compose reutiliza los contenedores existentes. “Compose almacena en caché la configuración” utilizada para crear un contenedor. Con estos conseguimos realizar cambios en el entorno muy rápidamente.
Variables y movimiento de una composición entre entornos:
-. El archivo Compose acepta variables, estas variables las utilizamos para personalizar su composición para diferentes entornos. Podemos ampliar un archivo de composición utilizando el extends o creando varios archivos de composición.
Entornos:
Entornos de desarrollo:
-. Para un desarrollando, la posibilidad de ejecutar una aplicación en un entorno aislado, es de suma importancia. El terminal de línea de comandos se puede utilizar para crear el entorno de desarrollo y poder interactuar con él.
-. Compose nos proporciona la posibilidad de documentar y configurar todas las dependencias de los servicio de la aplicación como: (bases de datos, cachés, API de servicios web, etc.). Con la herramienta de línea de comandos Redactar, puede crear e iniciar uno o más contenedores para cada dependencia con un solo comando (docker-compose up).Todo esto hace que podamos empezar a trabajar con nuestro proyecto.
Entornos de prueba automatizados:
-. Compose proporciona una forma de crear y destruir entornos de prueba aislados de nuestro sistema operativo de my-Portatil. Al definir el entorno completo en un archivo Compose , puede crear y destruir estos entornos con solo unos pocos comandos, Las pruebas automatizadas de un extremo a otro requieren un entorno en el que ejecutar las pruebas.
Recopilando:
Empezamos por proceso de Compose, primero en archivo docker-compose.yml donde definimos los Servicio, la carpeta donde lo ejecutamos el entorno /Moreluz-Web y comando de ejecución. Comento algo sobre ciclos de vida, características, entorno.
Referencias: moreluz.entorno