Dockerfile没有创建目录和复制文件?

4

我在我的 Dockerfile 中有以下内容(还有更多,但我只复制了相关部分):

RUN useradd jenkins
USER jenkins

# Maven settings
RUN mkdir ~/.m2
COPY settings.xml ~/.m2/settings.xml

docker构建过程成功完成,当我运行docker镜像时,没有看到任何错误。

但是我在主机文件系统中的/home/jenkins/.m2下没有看到.m2目录被创建。

我还尝试将~替换为/home/jenkins,但仍然没有看到.m2被创建。

我做错了什么?

谢谢

1个回答

2
我尝试了类似的操作,结果得到了
Step 4 : RUN mkdir ~/.m2
 ---> Running in 9216915b2463
mkdir: cannot create directory '/home/jenkins/.m2': No such file or directory

你的useradd命令不足以创建/home/jenkins目录

我要为我的用户gg执行如下操作

RUN useradd -d /home/gg -m -s /bin/bash gg
RUN echo gg:gg | chpasswd
RUN echo 'gg ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers.d/gg
RUN chmod 0440 /etc/sudoers.d/gg
USER gg
ENV HOME /home/gg
WORKDIR /home/gg

这将创建用户名为gg的目录。

为什么第2、3、4行是必要的? - brain storm
不确定它们是否绝对必要,但第一个是。 - user2915097
当我进行更改时,我看到新创建的.m2/settings.xml的权限为-rw-------。但是对于整个.m2目录,它应该是Jenkins用户的读写权限,对吗? - brain storm
我尝试自己为新创建的文件更改权限,但是出现了错误 RUN mkdir .m2 COPY settings.xml .m2/settings.xml RUN chmod -R 755 .m2。我得到以下错误提示:chmod: changing permissions of '.m2/settings.xml': Operation not permitted - brain storm
你有整个Dockerfile的链接吗? - user2915097
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接