将参数传递给父Dockerfile

时间:2016-12-11 16:32:10

标签: docker arguments dockerfile

有没有办法使用父docker镜像中定义的参数?

给出以下子Dockerfile

FROM jenkins

USER ${user}

RUN echo "${user}"

摘自父Dockerfile

FROM openjdk:8-jdk

ARG user=jenkins
ARG group=jenkins
ARG uid=1000
ARG gid=1000

1 个答案:

答案 0 :(得分:6)

Build arguments未在图片中保留,因此它们在构建ARG IMAGE_USER=jenkins ENV IMAGE_USER=$IMAGE_USER 父图像时不可用。

  

与ARG指令不同,ENV值始终保留在构建的图像中。

     

ARG变量不会像ENV变量那样持久存储到构建的图像中。

可以通过将参数存储在某个地方来保持参数,最简单的地方是环境变量。

RUN

子图片中的所有IMAGE_USER步骤都可以访问其环境中的{{1}}。