将主机文件添加到 docker 容器 - 来自 Dockerfile
Adding host file to docker container - from Dockerfile
这是我使用 docker 的前 2 个小时。我已经从 centos 4.0.6(项目要求)导入了 linux 图片。
我意识到还有其他问题描述了将文件从主机复制到 docker 容器,但我想在创建容器期间将文件从主机复制到容器 - 例如通过 Dockerfile 命令。
我尝试这样做的原因如下:
所以我的 Dockerfile 必须从 svn 服务器检出一些代码并构建然后执行编译后的代码。
svn连接使用svn+ssh协议。由于容器中的用户是root,我在~/.subversion/config文件中添加了合适的ssh用户,并且没有配置StricthostKeyChecking.
在我的docker
在我的 docker 文件中:
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 身份验证错误:
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 /
这会将文件放在容器的根目录中,将 /
更改为您想要的任何内容,以便将文件放在适当的位置。
这是我使用 docker 的前 2 个小时。我已经从 centos 4.0.6(项目要求)导入了 linux 图片。
我意识到还有其他问题描述了将文件从主机复制到 docker 容器,但我想在创建容器期间将文件从主机复制到容器 - 例如通过 Dockerfile 命令。
我尝试这样做的原因如下:
所以我的 Dockerfile 必须从 svn 服务器检出一些代码并构建然后执行编译后的代码。
svn连接使用svn+ssh协议。由于容器中的用户是root,我在~/.subversion/config文件中添加了合适的ssh用户,并且没有配置StricthostKeyChecking.
在我的docker
在我的 docker 文件中:
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 身份验证错误:
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 /
这会将文件放在容器的根目录中,将 /
更改为您想要的任何内容,以便将文件放在适当的位置。