我想知道在哪里可以看到我定义的变量。例如,我有三个文件:
.env
BLA=1
docker-compose.xml
IS_ONE=${BLA}
Dockerfile
RUN echo "$BLA" >> file.txt
我想知道这种关系,例如:
我是否需要在所有文件中定义的变量?还是有像这样的关系
而且,我需要在哪里声明一个变量以在Dockerfile中自动触发的bash脚本中使用(如果可能的话),或者稍后在容器的控制台中使用。
这里有很多例子:https://docs.docker.com/compose/environment-variables/
如果您需要自定义docker-compose本身,则使用.env文件。例如,我想在我的容器名称中包含构建ID,我的.env文件会有
BUILD_ID=20
和docker-compose.yml会有
containername: "foo-${BUILD_ID}"
如果我想在运行时将环境变量传递给容器,我会使用
environment:
- FOO_VAR=bar
如果我想将多个环境变量传递到容器中,docker-compose.yml会有
env_file: my_container_env
如果要动态生成FOO_VAR的值,这是一种简单的方法。
是否直接在docker-compose中使用set env值或使用文件取决于: