【问题标题】:Environment variables in DockerDocker 中的环境变量
【发布时间】:2016-02-02 10:51:17
【问题描述】:

我想使用.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"

【问题讨论】:

    标签: docker environment-variables


    【解决方案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 是运行时执行的命令 以上命令。在您的情况下,您可以更改容器名称,并 确保环境变量已正确发送。

    【讨论】:

    • 只有第一行是命令吗? (我明白那个)。但我不明白路径?或者你正在运行你的容器来显示它的环境变量?
    • 第一行是以 docker 开头,以 env 结尾的命令。其余的行是输出。
    猜你喜欢
    • 2020-12-07
    • 1970-01-01
    • 2015-06-17
    • 2021-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-26
    相关资源
    最近更新 更多