【问题标题】:dockerfile is not creating directory and copying files?dockerfile 没有创建目录和复制文件?
【发布时间】:2016-05-26 22:20:53
【问题描述】:

我的 dockerfile 中有以下内容。 (还有很多。但我已将相关部分粘贴在这里)

RUN useradd jenkins
USER jenkins

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

docker build 运行良好,当我运行 docker image 时,我没有看到任何错误。

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

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

我做错了什么?

谢谢

【问题讨论】:

    标签: docker dockerfile


    【解决方案1】:

    我尝试了类似的东西并得到了

    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 行。
    • 不确定它们是否绝对必要,但第一个是
    • 当我进行更改时,我看到 -rw------- 对新创建的 .m2/settings.xml 的权限。但是对于整个 .m2 目录,jenkins 用户应该是读/写的吗?
    • 我尝试更改自己对新创建文件的权限,但我收到错误 RUN mkdir .m2 COPY settings.xml .m2/settings.xml RUN chmod -R 755 .m2。我收到以下错误chmod: changing permissions of '.m2/settings.xml': Operation not permitted
    • 你有整个 Dockerfile 的链接吗?
    猜你喜欢
    • 2016-01-04
    • 1970-01-01
    • 2018-11-10
    • 1970-01-01
    • 1970-01-01
    • 2020-11-07
    • 1970-01-01
    • 2021-05-06
    • 2020-01-07
    相关资源
    最近更新 更多