有没有办法使用父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
最佳答案
Build arguments不会保留在图像中,因此它们在父图像的构建中不可用.
原文链接:https://www.f2er.com/docker/436114.htmlUnlike an ARG instruction,ENV values are always persisted in the built image.
ARG variables are not persisted into the built image as ENV variables are.
参数可以通过将它们存储在某个地方来保持,最简单的地方是在环境变量中.
ARG IMAGE_USER=jenkins
ENV IMAGE_USER=$IMAGE_USER
然后,子图像中的所有RUN步骤都可以访问其环境中的IMAGE_USER.