我有两个Dockerfiles Dockerfile.A & Dockerfile.B 其中 Dockerfile.B 使用 Dockerfile.A 中的FROM关键字继承。在 Dockerfile.A 中,我设置了一个我想在 Dockerfile.B (PATH)中使用的环境变量。这是可能的,我将如何去做呢?
到目前为止,我在 Dockerfile.A :
中尝试了以下内容1 RUN导出PATH = / my / new / dir:$ PATH
2 ENV PATH = / my / new / dir:$ PATH
第3 RUN echo" PATH = / my / new / dir:$ PATH" > / etc / profile中
分别在 Dockerfile.B 中:
1 只需使用路径中的工具来查看它们是否可用(它们不是)
2 ENV PATH
第3 运行源/ etc / profile
我意识到每个RUN命令都在它自己的环境中执行,这可能就是ENV关键字存在的原因,使得可以独立于RUN命令来处理环境。但我不确定这对我的情况意味着什么。
那我怎么能这样做呢?
答案 0 :(得分:2)
按预期为我工作。
Dockerfile.A
FROM alpine:3.6
ENV TEST=VALUE
构建它。
docker build -t imageA .
Dockerfile.B
FROM imageA
CMD echo $TEST
构建它。
$ docker build -t imageB .
运行它
$ docker run -it imageB
VALUE