tag run library imagenes hub compose docker dockerfile

docker - run - ¿Cómo configuro las variables de entorno durante la compilación en la ventana acoplable?



download docker image (1)

ARG sirve para configurar las variables de entorno que se utilizan durante el proceso de docker build la docker build ; no están presentes en la imagen final, por lo que no las ve cuando utiliza la docker run .

Utiliza ARG para las configuraciones que solo son relevantes cuando se está construyendo la imagen y no son necesarios para los contenedores que se ejecutan desde la imagen. Puede usar ENV para las variables de entorno para usar durante la compilación y en contenedores.

Con este Dockerfile:

FROM ubuntu ARG BUILD_TIME=abc ENV RUN_TIME=123 RUN touch /env.txt RUN printenv > /env.txt

Puede anular el argumento de compilación como lo hizo con la docker build -t temp --build-arg BUILD_TIME=def . . Entonces obtienes lo que esperas:

> docker run temp cat /env.txt HOSTNAME=b18b9cafe0e0 RUN_TIME=123 HOME=/root PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin BUILD_TIME=def PWD=/

Estoy intentando establecer variables de entorno en el contenedor de la ventana acoplable durante la compilación pero sin éxito. Configurarlos cuando se usa el comando de ejecución funciona pero necesito configurarlos durante la compilación.

Dockerfile

FROM ubuntu:latest ARG TEST_ENV=something

Comando que estoy usando para construir

docker build -t --build-arg TEST_ENV="test" myimage .

Corriendo

docker run -dit myimage

Estoy comprobando las variables de entorno disponibles usando

docker exec containerid printenv

y el resultado es

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin HOSTNAME=e49c1abfd58b TERM=xterm no_proxy=*.local, 169.254/16 HOME=/root

TEST_ENV no está presente