无法访问Dockerfile中ADD / chown / chmod创建的docker中的自己的目录(can't access own directory in docker created

编程入门 行业动态 更新时间:2024-10-25 08:14:55
无法访问Dockerfile中ADD / chown / chmod创建的docker中的自己的目录(can't access own directory in docker created by ADD/chown/chmod in Dockerfile)

我尝试将ssh私钥添加到Dockerfile的docker构建中,它看起来有线,我无法访问它,即使它看起来我有完全权限

Docker Version: 1.0.0 Docker host: ubuntu 14.04

这是Dockerfile

FROM ubuntu:latest ENV HOME /home/larry RUN useradd larry && echo 'larry:docker' | chpasswd RUN echo "larry ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers # arrange ssh key ADD larry.id_rsa $HOME/.ssh/id_rsa RUN \ chmod 700 $HOME/.ssh &&\ chmod 600 $HOME/.ssh/id_rsa RUN chown -R larry:larry $HOME

在我构建图像并运行到容器和su给用户larry ,我得到了

$ id uid=1000(larry) gid=1000(larry) groups=1000(larry) $ ls -al total 12 drwxr-xr-x 5 larry larry 4096 Jun 21 01:29 . drwxr-xr-x 5 root root 4096 Jun 21 01:29 .. drwx------ 2 larry larry 4096 Jun 21 01:29 .ssh $ cd .ssh -su: cd: .ssh: Permission denied

也许我错过了码头工人的一些基本概念? 从正常的unix用户角度来看,只是连线。

我把它放在github以及https://github.com/dotcloud/docker/issues/1295#issuecomment-46700769

I try to add ssh private key into docker building from Dockerfile, it looks wired that I can't access it even it looks like I have full permission

Docker Version: 1.0.0 Docker host: ubuntu 14.04

Here is the Dockerfile

FROM ubuntu:latest ENV HOME /home/larry RUN useradd larry && echo 'larry:docker' | chpasswd RUN echo "larry ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers # arrange ssh key ADD larry.id_rsa $HOME/.ssh/id_rsa RUN \ chmod 700 $HOME/.ssh &&\ chmod 600 $HOME/.ssh/id_rsa RUN chown -R larry:larry $HOME

After I build the image and run into container and su to user larry, I got

$ id uid=1000(larry) gid=1000(larry) groups=1000(larry) $ ls -al total 12 drwxr-xr-x 5 larry larry 4096 Jun 21 01:29 . drwxr-xr-x 5 root root 4096 Jun 21 01:29 .. drwx------ 2 larry larry 4096 Jun 21 01:29 .ssh $ cd .ssh -su: cd: .ssh: Permission denied

Maybe I missed some basic concept in docker ? Just wired from normal unix user point of view.

I put this in github as well https://github.com/dotcloud/docker/issues/1295#issuecomment-46700769

最满意答案

你刚刚遇到bug #6047 ,它基本上说在chmod之后运行时它们是chown问题。

以下Dockerfile将起作用:

FROM ubuntu:latest ENV HOME /home/larry RUN useradd larry && echo 'larry:docker' | chpasswd RUN echo "larry ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers # arrange ssh key ADD larry.id_rsa $HOME/.ssh/id_rsa RUN chown -R larry:larry $HOME RUN \ chmod 700 $HOME/.ssh &&\ chmod 600 $HOME/.ssh/id_rsa

You just met bug #6047 which basically says they are issues with chown when run after chmod.

The following Dockerfile will work:

FROM ubuntu:latest ENV HOME /home/larry RUN useradd larry && echo 'larry:docker' | chpasswd RUN echo "larry ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers # arrange ssh key ADD larry.id_rsa $HOME/.ssh/id_rsa RUN chown -R larry:larry $HOME RUN \ chmod 700 $HOME/.ssh &&\ chmod 600 $HOME/.ssh/id_rsa

更多推荐

本文发布于:2023-07-24 19:33:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1250167.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:自己的   无法访问   目录   ADD   chown

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!