Administrar y utilizar variables de entorno
Acceder a las variables de entorno en los contenedores
Una vez que haya definido variables de entorno en su Dockerfile, puede acceder a ellas dentro del contenedor en ejecución utilizando la sintaxis estándar de shell. Por ejemplo, en un script de Bash, puede acceder al valor de la variable de entorno DB_HOST de la siguiente manera:
echo "Database host: $DB_HOST"
También puede utilizar variables de entorno en el código de su aplicación, dependiendo del lenguaje de programación y el marco que esté utilizando.
Anular las variables de entorno en tiempo de ejecución
Cuando ejecuta un contenedor de Docker, puede anular las variables de entorno definidas en el Dockerfile utilizando la bandera --env o -e. Esto le permite personalizar fácilmente el comportamiento de su contenedor sin tener que reconstruir la imagen.
docker run -e DB_HOST=192.168.1.100 -e DB_PASSWORD=newpassword myapp
En este ejemplo, las variables de entorno DB_HOST y DB_PASSWORD se anulan en tiempo de ejecución, lo que les da prioridad sobre los valores definidos en el Dockerfile.
Administrar variables de entorno con Docker Compose
Si está utilizando Docker Compose para administrar su aplicación, puede definir variables de entorno en la sección environment de su archivo docker-compose.yml. Esto le permite centralizar la configuración de toda su pila de aplicaciones.
version: "3"
services:
web:
image: myapp
environment:
DB_HOST: mysql
DB_PORT: 3306
DB_USER: myuser
DB_PASSWORD: secret
mysql:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: secret
En este ejemplo, las variables de entorno para el servicio web se definen en la sección environment, y el servicio mysql también tiene sus propias variables de entorno definidas.
graph TD
A[Docker Compose] --> B[Environment Variables]
B --> C[Docker Containers]
C --> D[Applications]
Al administrar las variables de entorno de esta manera, puede escalar fácilmente su aplicación, intercambiar servicios y mantener una configuración coherente en diferentes entornos.