Variables de Entorno
Variables de Entorno en Docker
Las variables de entorno son una forma flexible y dinámica de configurar los contenedores de Docker. Permiten definir valores que pueden ser utilizados por los servicios y aplicaciones dentro del contenedor.
Ejemplos de Uso de Variables de Entorno
Podemos crear variables de entorno para un uso específico como MONGO_USER
, PORT
, MAIL
, entre otras. Estas variables se pueden pasar al contenedor al momento de su creación utilizando las opciones -e
o --env
.
Sintaxis para Definir Variables de Entorno
- Utilizando la opción corta
-e
:
docker run -e <NOMBRE_VARIABLE=valor> <imagen>
- Utilizando la opción larga
--env
:
docker run --env <NOMBRE_VARIABLE=valor> <imagen>
Ejemplos Prácticos
Ejemplo 1: Configuración de una Base de Datos MongoDB
Supongamos que necesitamos configurar las credenciales para una base de datos MongoDB:
docker run -e MONGO_USER=myUser -e MONGO_PASSWORD=myPassword -e MONGO_DB=myDatabase mongo
En este ejemplo, MONGO_USER
, MONGO_PASSWORD
y MONGO_DB
son variables de entorno que serán accesibles dentro del contenedor MongoDB.
Ejemplo 2: Configuración de un Servidor Web
Para configurar un servidor web y especificar el puerto y el entorno:
docker run -e PORT=8080 -e NODE_ENV=production -p 8080:8080 my-web-app
Aquí, PORT
y NODE_ENV
son variables de entorno que el servidor web utilizará para saber en qué puerto escuchar y en qué entorno se está ejecutando (producción en este caso).
Archivos de Variables de Entorno
También es posible definir variables de entorno en un archivo y luego pasarlo al contenedor. Esto es útil para evitar la exposición de valores sensibles en la línea de comandos.
Creación del Archivo .env
Crea un archivo llamado .env
y define las variables de entorno en él:
MONGO_USER=myUser
MONGO_PASSWORD=myPassword
MONGO_DB=myDatabase
Uso del Archivo .env
Para utilizar este archivo al ejecutar el contenedor:
docker run --env-file .env mongo
Buenas Prácticas
- Seguridad: Evita incluir información sensible directamente en el archivo
.env
que se suba a repositorios públicos. - Consistencia: Mantén nombres de variables consistentes a lo largo de tus proyectos.
- Documentación: Documenta las variables de entorno necesarias para cada proyecto, facilitando su configuración y uso.
Conclusión
Las variables de entorno en Docker son esenciales para la configuración y operación de contenedores de manera flexible y segura. Utiliza las opciones -e
o --env
, o archivos .env
para gestionar estas variables de manera eficiente.