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结尾的命令。其余的行是输出。