将主机文件添加到Docker容器 – 从Dockerfile
这是我使用docker的第一个2小时。 我已经从centos 4.0.6(项目需求)导入了一个linux镜像。
我意识到还有其他问题描述从主机复制文件到docker容器,但我想在创build容器时从主机复制文件到容器 – 例如通过Dockerfile命令。
我尝试这个的原因如下:
所以我的Dockerfile必须从svn服务器检出一些代码,然后编译然后执行编译的代码。
svn连接使用svn + ssh协议。 由于容器中的用户是root用户,我将相应的ssh用户添加到〜/ .subversion / config文件,并且不configurationStricthostKeyChecking。
在我的docker
在我的dockerfile中:
RUN echo "[tunnels]" > ~/.subversion/config RUN echo "ssh = ssh -l mysvnuser" >> ~/.subversion/config RUN echo -e "Host svnserver.lan\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config RUN svn co svn+ssh://svnserver.lan/svn/bananas/branches/Ti_2.4 bananas ...
我收到以下svn身份validation错误:
Warning: Permanently added 'svnserver.lan,192.168.1.8' (RSA) to the list of known hosts. Permission denied, please try again. Permission denied, please try again. Permission denied (publickey,gssapi-with-mic,password). svn: To better debug SSH connection problems, remove the -q option from 'ssh' in the [tunnels] section of your Subversion configuration file. svn: Network connection closed unexpectedly
所以我知道我需要添加mysvnuser的id_rsa为了解决这个问题,但会svn从/root/.ssh或/home/mysvnuser/.ssh使用id_rsa?
有没有人通过Dockerfile将文件从Docker主机传输到容器?
在包含docker文件的目录中,只需将要传输的文件添加到容器中,如下所示:
ADD name-of-file.extension /
这将把文件放在容器的根目录下,将/
更改为任何你想要的文件,以将文件放在适当的位置。