Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将参数传递给父Dockerfile_Docker_Arguments_Dockerfile - Fatal编程技术网

将参数传递给父Dockerfile

将参数传递给父Dockerfile,docker,arguments,dockerfile,Docker,Arguments,Dockerfile,有没有办法使用父docker映像中定义的参数 给定以下子Dockerfile FROM jenkins USER ${user} RUN echo "${user}" 摘自父母 未在映像中持久化,因此它们在父映像的生成中不可用 与ARG指令不同,ENV值始终保留在生成的映像中 ARG变量不会像ENV变量那样持久化到内置映像中 参数可以通过存储在某个地方来持久化,最简单的地方是在环境变量中 ARG IMAGE_USER=jenkins ENV IMAGE_USER=$IMAGE_USER

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

给定以下子Dockerfile

FROM jenkins

USER ${user}

RUN echo "${user}"
摘自父母

未在映像中持久化,因此它们在父映像的生成中不可用

与ARG指令不同,ENV值始终保留在生成的映像中

ARG变量不会像ENV变量那样持久化到内置映像中

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

ARG IMAGE_USER=jenkins
ENV IMAGE_USER=$IMAGE_USER

然后,子映像中的所有
运行
步骤都可以访问其环境中的
image\u USER

我是否可以在重写用户之前,以某种方式提取我的
Dockerfile
中用户指令的当前值并保存它。类似这样的事情:
user=${user}
,然后
user root
,然后做一些事情,然后
user${user}
?@lanoxx否,不使用Dockers构建系统。您可以将用户存储在映像文件系统中的某个位置,并使用类似于shell的方法返回到存储的用户。
ARG IMAGE_USER=jenkins
ENV IMAGE_USER=$IMAGE_USER