我有两个文件 Dockerfile.A & Dockerfile.B 哪里 Dockerfile。B 使用FROM关键字FROM继承 Dockerfile。A. . 在里面 Dockerfile。A. 我设置了一个要在中使用的环境变量 Dockerfile。B (路径)。这可能吗?我该怎么做呢?
Dockerfile.A
Dockerfile.B
Dockerfile。B
Dockerfile。A.
到目前为止,我已经在 Dockerfile。A. :
RUN export PATH=/my/new/dir:$PATH
ENV PATH=/my/new/dir:$PATH
RUN echo "PATH=/my/new/dir:$PATH" >/etc/profile
并且在 Dockerfile。B ,分别为:
只需使用路径中的工具即可查看它们是否可用(它们不可用)
ENV PATH
RUN source /etc/profile
我意识到每个RUN命令都是在自己的环境中执行的,这可能就是ENV关键字存在的原因,以便能够独立于RUN命令来处理环境。但我不确定这对我的情况意味着什么。
那么我该怎么做呢?
对我来说就像预期的那样。
FROM alpine:3.6 ENV TEST=VALUE
构建它。
docker build -t imageA .
FROM imageA CMD echo $TEST
$ docker build -t imageB .
运行它
$ docker run -it imageB VALUE