Docker变量范围
我想知道在哪里可以看到我定义的变量。例如,我有三个文件:Docker变量范围,docker,Docker,我想知道在哪里可以看到我定义的变量。例如,我有三个文件: .env BLA=1 docker-compose.xml IS_ONE=${BLA} Dockerfile RUN echo "$BLA" >> file.txt 我想知道这种关系,例如: 是否需要在所有文件中定义变量?或者有这样的关系 docker-compose.xml只能看到.evn变量吗 Dockerfile只能看到docker-compose.xml变量吗 如果可能的话,我需要在哪里声明一个变量以在Dock
.env
BLA=1
docker-compose.xml
IS_ONE=${BLA}
Dockerfile
RUN echo "$BLA" >> file.txt
我想知道这种关系,例如:
是否需要在所有文件中定义变量?或者有这样的关系
docker-compose.xml只能看到.evn变量吗
Dockerfile只能看到docker-compose.xml变量吗
如果可能的话,我需要在哪里声明一个变量以在Dockerfile中自动触发的bash脚本中使用,或者稍后在容器控制台中使用。这里有很多示例:
如果需要自定义docker compose本身,则使用.env文件。
例如,我想在我的容器名中包含构建id,我的.env文件应该包含
BUILD_ID=20
docker-compose.yml会
containername:foo-${BUILD\u ID}
如果我想在容器运行时将环境变量传递到容器中,我使用
环境:
-FOO_VAR=bar
如果我想将多个环境变量传递到容器中,
docker-compose.yml会
环境文件:我的容器环境
如果要动态生成FOO_变量的值,这是一种简单的方法
是直接在docker compose中使用设置环境值还是使用文件取决于:
这些价值观是动态的吗?如果是,请使用文件并填充正确的值
在文件中使用一些脚本,比如jenkins可以设置我的构建ID
我的.env文件
它们是“秘密”吗?如果是,请使用文件,不要将.env或my_container_env文件签入repo-您必须管理这些文件
分开