在子Dockerfile中使用ARG命令

我正在创build基于Jenkins Docker镜像的Dockerfile在镜像中添加一些预先安装的软件包(build-essential等)。

在Jenkins Dockerfile他们使用ARG命令来创buildjenkins用户和组:请参阅这些行 。

这是我的Dockerfile

 FROM jenkins USER root RUN apt-get update && apt-get install -y build-essential USER jenkins 

但是,当我build立它适合我的jenkins主机用户通过使用这一行:

 docker build --tag my-jenkins \ --build-arg user=jenkins \ --build-arg group=jenkins \ --build-arg uid=$(id -u jenkins) \ --build-arg gid=$(id -g jenkins) \ . 

我有这个错误:

 One or more build-args [gid group uid user] were not consumed, failing build. 

有没有办法做到这一点,或者是不可能的?

不可能。 该图像已经build成(使用默认值)。 你可以写一个快速的脚本来build立你自己的jenkins图像(传递参数),然后从中build立你的子图像。