Docker中的环境变量
我想使用Docker中的环境变量,docker,environment-variables,Docker,Environment Variables,我想使用.env文件来描述我的变量: 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" 这已经得到支持,唯一的问题是您需要确保您的ENV文件格式正确: $
.env文件
来描述我的变量:
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"
这已经得到支持,唯一的问题是您需要确保您的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运行命令中,“busybox”是一个
container和env
是在运行
高于命令。在您的情况下,您可以更改容器名称,然后
确保正确发送环境变量
这已经得到支持,唯一的问题是您需要确保您的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运行命令中,“busybox”是一个
container和env
是在运行
高于命令。在您的情况下,您可以更改容器名称,然后
确保正确发送环境变量
命令是否只有第一行?(我理解)。但我不明白这条路?或者您正在运行容器以显示其环境变量?第一行是以docker开头并以env结尾的命令。其余的行是输出。只有第一行是命令吗?(我理解)。但我不明白这条路?或者您正在运行容器以显示其环境变量?第一行是以docker开头并以env结尾的命令。其余的行是输出。