我尝试将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.04Here 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 $HOMEAfter 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 deniedMaybe 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_rsaYou 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更多推荐
发布评论