Skip to main content

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.