如何使用父Docker文件中的环境变量?
我有两个Dockerfile如何使用父Docker文件中的环境变量?,docker,environment-variables,parameter-passing,environment,Docker,Environment Variables,Parameter Passing,Environment,我有两个DockerfileDockerfile.A和Dockerfile.B其中Dockerfile.B使用FROM关键字FROMDockerfile.A继承。在Dockerfile.A中,我设置了要在Dockerfile.B中使用的环境变量(路径)。这可能吗?我该怎么做 到目前为止,我在Dockerfile.A中尝试了以下内容: 分别在Dockerfile.B中: 只需使用路径中的工具查看它们是否可用(它们不可用) 我意识到每个RUN命令都是在它自己的环境中执行的
Dockerfile.A
和Dockerfile.B
其中Dockerfile.B
使用FROM关键字FROMDockerfile.A
继承。在Dockerfile.A
中,我设置了要在Dockerfile.B
中使用的环境变量(路径)。这可能吗?我该怎么做
到目前为止,我在Dockerfile.A中尝试了以下内容:
分别在
Dockerfile.B
中:
我意识到每个RUN命令都是在它自己的环境中执行的,这可能就是ENV关键字存在的原因,以便能够独立于RUN命令来处理环境。但我不确定这对我的案件意味着什么
那么我该怎么做呢?对我来说就像预期的那样 Dockerfile.A
FROM alpine:3.6
ENV TEST=VALUE
建造它
docker build -t imageA .
$ docker build -t imageB .
Dockerfile.B
FROM imageA
CMD echo $TEST
建造它
docker build -t imageA .
$ docker build -t imageB .
运行它
$ docker run -it imageB
VALUE
这对我来说就像预期的那样 Dockerfile.A
FROM alpine:3.6
ENV TEST=VALUE
建造它
docker build -t imageA .
$ docker build -t imageB .
Dockerfile.B
FROM imageA
CMD echo $TEST
建造它
docker build -t imageA .
$ docker build -t imageB .
运行它
$ docker run -it imageB
VALUE
CMD没有运行,我想要在构建时的值,也不是tun时的值!我测试了您的示例,它在构建时也能工作,所以这对我来说不起作用肯定还有其他原因。谢谢CMD没有运行,我想要在构建时的值,也不是tun时的值!我测试了您的示例,它在构建时也能工作,所以这对我来说不起作用肯定还有其他原因。谢谢