2016-07-23 52 views
3

我正在根据Jenkins Docker image创建我自己的Dockerfile,仅在映像中添加一些预安装的软件包(build-essential等)。在子Dockerfile中使用ARG命令

在Jenkins Dockerfile中,他们使用ARG command创建了jenkins用户和组:请参见these lines

这里是我的Dockerfile

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

但是当我建立它通过使用此行以适合我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. 

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

回答

1

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