Docker es una plataforma abierta para que desarrolladores y administradores de sistemas desarrollen, envíen y ejecuten aplicaciones distribuidas, ya sea en computadoras portátiles, maquinas virtuales de centros de datos o en la nube. A primera vista se piensa en Docker como una especie de máquina virtual “liviana”, pero la verdad no lo es. En Docker no existe un hypervisor que virtualice hardware sobre el cual corra un sistema operativo completo. En Docker lo que se hace es usar las funcionalidades del Kernel para encapsular un sistema, de esta forma el proyecto que corre dentro de el no tendrá conocimiento que está en un contenedor. Los contenedores se encuentran aislados entre sí y se comportaran como máquinas independientes. Evitando así la típica frase “Pero en mi máquina funciona”.
Docker Compose es una herramienta de Docker que permite definir y ejecutar aplicaciones con múltiples contenedores de manera sencilla. Con Docker Compose, puedes definir servicios y sus dependencias en un archivo YAML, lo que facilita la configuración y conexión de varios contenedores. Además, permite especificar nombres de contenedores, imágenes, redes y volúmenes necesarios para cada servicio. Adicionalmente, se pueden definir variables de entorno y enlaces entre contenedores para conectar los servicios entre sí.
Docker Compose permite definir diferentes entornos para la misma aplicación en un archivo YAML de configuración.
Por ejemplo, se puede tener un archivo docker-compose.prod.yml
para el entorno de producción y un archivo docker-compose.dev.yml
para el entorno de desarrollo. En el archivo YAML para el entorno de producción, se pueden definir variables de entorno y configuraciones específicas para ese entorno, como una contraseña de base de datos diferente o un servidor web que escucha en un puerto diferente. Del mismo modo, en el archivo YAML para el entorno de desarrollo, se pueden definir variables de entorno y configuraciones diferentes, como una configuración de depuración o una base de datos de prueba.
En resumen, Docker Compose permite definir diferentes entornos para la misma aplicación en un archivo YAML de configuración, lo que permite configurar diferentes variables de entorno y configuraciones para cada entorno. Esto facilita la creación, configuración y ejecución de aplicaciones en diferentes entornos de desarrollo y producción.
(Ejemplos)
Configuration Docker para React js-with-Nginx-NodeJs
(Ejemplos)