Configurar variables de entorno para el proceso exec
En este paso, aprenderás cómo establecer variables de entorno específicamente para el comando que se ejecuta con docker exec
. Esto te permite pasar configuración u otra información al proceso que se ejecuta dentro del contenedor sin modificar permanentemente el entorno del contenedor.
Continuaremos usando el contenedor ubuntu
en ejecución de los pasos anteriores. Si no está en funcionamiento, inícialo con:
docker run -d ubuntu:latest sleep infinity
Obtén el Container ID de tu contenedor ubuntu
en ejecución usando docker ps
:
docker ps
Ahora, ejecutemos un comando dentro del contenedor y establezcamos una variable de entorno para esa ejecución específica. Usaremos el comando printenv
para mostrar las variables de entorno. Reemplaza <container_id>
con el ID de tu contenedor.
docker exec -e MY_VARIABLE="Hello from LabEx" MY_VARIABLE < container_id > printenv
Analicemos la nueva opción:
-e MY_VARIABLE="Hello from LabEx"
: Esta opción establece una variable de entorno llamada MY_VARIABLE
con el valor "Hello from LabEx"
para el comando printenv
que se está ejecutando.
Deberías ver la salida Hello from LabEx
impresa en tu terminal. Esto confirma que la variable de entorno se configuró correctamente para el proceso printenv
.
Para demostrar que esta variable de entorno solo se establece para el proceso exec
y no para el proceso principal del contenedor, ejecutemos printenv MY_VARIABLE
nuevamente sin la opción -e
:
docker exec MY_VARIABLE < container_id > printenv
Esta vez, no deberías ver ninguna salida, o posiblemente un error que indique que la variable no está configurada. Esto muestra que la variable de entorno solo estaba disponible para el comando ejecutado con el flag -e
.
Configurar variables de entorno con docker exec -e
es una forma conveniente de pasar configuración dinámica a procesos que se ejecutan dentro de tus contenedores.