Docker中的环境变量

时间:2016-02-02 10:51:17

标签: docker environment-variables

我想用.env-file来描述我的变量:

URL: $HOST
PORT: $PORT
MAIL = “test@test.be”
PASS = “test123"

我想在容器中使用该文件:

docker run --env-file myfile

但我想在我的文件中替换$ HOST和$ PORT 我可以这样做吗?

docker run --env-file myfile -e PORT="8080" -e "HOST=ec2-xxx"

1 个答案:

答案 0 :(得分:1)

这已经得到支持,只需要确保你的ENV文件格式正确:

$ cat myfile
URL= $HOST
PORT= $PORT
MAIL= “test@test.be”
PASS= “test123

一旦您的env文件格式正确,您可以使用docker run命令,如下所示:

$ docker run --env-file=myfile -e HOST=123.22 -e PORT=234 busybox env
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=0d543af16a70
URL= $HOST
PORT=234
MAIL= “test@test.be”
PASS= “test123
HOST=123.22
HOME=/root
  

请注意,在上面的docker run命令中,“busybox”是一个   容器和env是在运行时执行的命令   以上命令。在您的情况下,您可以更改容器名称,并且   确保env变量已正确发送。