¿Sabes qué es Docker Compose? Se trata de una herramienta de la plataforma dedicada a la orquestación local de dockers, es decir, se utiliza con el objetivo de definir y ejecutar aplicaciones Docker de varios contenedores de forma fácil y rápida.
Esta definición y orquestación se lleva a cabo de forma local al interior de los containers, los que, además, se encontrarán unidos a través de una red de Docker. Para su funcionamiento, Docker Compose emplea un archivo tipo YAML que le permite realizar la configuración de los diferentes servicios pertenecientes a la aplicación. Después de esto, un comando cumplirá la función de crear e iniciar estos servicios a partir de sus ajustes.
Características de Docker Compose
Una vez que tenemos claro qué es Docker compose, podemos evaluar sus características.
Dentro de los elementos que caracterizan a esta herramienta se encuentra su capacidad para contener una diversidad de entornos dentro de una misma máquina de host, así como su labor de mantener la preservación de los datos de volumen una vez se crean los diferentes contenedores.
Docker Compose tiene la propiedad de recrear los contenedores que hayan sufrido transformaciones. También admite variables y movimientos entre las composiciones de los entornos. Se utiliza un archivo YAML (archivo docker compose.yml), que sirve para configurar los servicios de la aplicación.
Estas características pueden detallarse de la siguiente forma:
Multiplicidad de entornos en un solo host
🔴 ¿Quieres entrar de lleno al mundo DevOps & Cloud Computing? 🔴
Descubre el DevOps & Cloud Computing Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada
👉 Prueba gratis el Bootcamp en DevOps & Cloud Computing por una semanaEsta característica de Docker Compose indica que la herramienta tiene la posibilidad de utilizar un nombre de un determinado proyecto con el objetivo de aislar los entornos entre sí. Este nombre puede usarse en contextos como un host de desarrollo para crear diversas copias de un mismo entorno, como, por ejemplo, cuando el usuario requiere hacer la ejecución de una copia estable para cada una de las ramas de función del proyecto.
Además, este nombre resulta de gran utilidad en un servidor CI, con el objetivo de evitar que las complicaciones puedan interferir entre sí. De manera que el cliente tiene la posibilidad de indicar el nombre de un proyecto en un número de compilaciones único.
El nombre de proyecto también puede usarse en un host compartido para impedir la interferencia entre los diferentes proyectos que pueden usar los mismos títulos de servicio.
Cabe resaltar que, de forma predeterminada, el nombre del proyecto es el título base del directorio, aunque el usuario puede personalizarlo a través de la línea de comandos.
Conservar los datos de volumen
Docker Compose también se caracteriza por permitir la preservación de la información de volumen en los casos donde los contenedores se crean en el sistema; es decir, puede conservar la totalidad de los volúmenes de sus servicios.
De modo que Docker Compose puede utilizar la opción docker-compose up
para encontrar los contenedores de las ejecuciones antiguas y, de esta manera, copiar sus volúmenes al nuevo container. Esta labor es de gran importancia, debido a que se encarga de garantizar la permanencia de todos los datos que se hayan creado en el interior de los volúmenes de Docker.
Recrear contenedores que hayan sido modificados
Docker Compose también se caracteriza por su propiedad de almacenar en el caché toda la información relacionada con los ajustes y configuraciones usados para crear un contenedor. En los casos donde un servicio que no ha cambiado se reinicia, -d docker compose se encarga de reutilizar los containers que ya existen.
Esta reutilización le da la posibilidad al sistema de llevar a cabo cambios dentro de su entorno de forma muy rápida.
Variables y movimientos de una composición entre ambientes
Docker Compose también admite variables de entorno en su archivo, que pueden usarse con el objetivo de personalizar su composición para un gran número de entornos o usuarios diferentes.
Esta herramienta también tiene la propiedad de ampliar un archivo de docker-compose -d a través del uso de la opción de extends
en el campo o creando varios archivos.
Funciones de Docker Compose
Dentro de lo que es Docker Compose, se encuentra su capacidad de ofrecer una manera de ajustar y documentar las dependencias del servicio de la aplicación del usuario, como, por ejemplo, el caché, la Interfaz de Programación de Aplicaciones de los servicios, sus bases de datos o servicios web, entre otras.
Además, Docker Compose se encarga de la función de proporcionar una forma ideal para crear y destruir entornos de prueba que se encuentren aislados para su conjunto de pruebas, por lo que, cuando el usuario define un ambiente completo dentro de un archivo Compose, tiene la opción de desarrollar y eliminar estos entornos utilizando solamente algunos de los comandos disponibles en la plataforma.
Docker Commpose también se encarga de la administración y gestión de logs de una manera eficiente y única, al tiempo que facilita el proceso de pruebas y reproducción de errores dentro del sistema.
¿Cuál es el siguiente paso?
En este artículo has podido conocer qué es Docker Compose, así como cuáles son sus características y casos de uso más importantes; ahora, no dudes en ir un paso más allá y sigue formándote en este y otros elementos de Docker y sus contenedores a través de nuestro DevOps & Cloud Computing Full Stack Bootcamp. Con este bootcamp solo necesitarás unos meses para conocer todo lo que necesitas saber para ser un experto en la materia y destacar dentro del sector tecnológico. ¡Anímate a inscribirte para seguir aprendiendo sobre el mundo IT!