有没有办法使用父级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
有没有办法使用父级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
构建参数不会保存在映像中,因此它们在从父映像FROM
构建时不可用。
与ARG指令不同,ENV值始终会保存在构建的映像中。
ARG变量不会像ENV变量一样保存到构建的映像中。
这些参数可以通过将它们存储在某个地方来保存,最简单的地方是环境变量。
ARG IMAGE_USER=jenkins
ENV IMAGE_USER=$IMAGE_USER
子镜像中的所有 RUN
步骤都将在其环境中访问IMAGE_USER
。