有些方法可以使用docker run
或--env
选项使用-e
命令传递dockerfile中声明的环境变量。
E.g。假设您使用的是MAC或Linux,那么您可以定义一个shell变量,如下所示:
export MyEnvVar=SomeValue
然后将此值传递给dockerfile中定义的环境变量。
docker run --name "MyContainerName" -e MyEnvVar Container_Image_Name
为此,你必须在dockerfile中有一个语句,如下所示:
ENV MyEnvVar=${MyEnvVar}
但是,我不想在dockerfile中定义任何变量,而是在使用docker run
或其他方式创建容器实例时添加新的环境键/值。
那么有没有办法使用docker run
或其他方法将新环境变量添加到docker容器中而不在dockerfile中声明该环境变量?
答案 0 :(得分:4)
在运行时添加环境变量并不需要在ENV
Dockerfile
$ docker run -e TEST=OHYEAH busybox sh -c 'echo $TEST'
OHYEAH
正如@djmm187所述,--env-file
也会起作用。