2017-07-29 82 views
0

我开始使用Docker,特别是docker-compose。当构建容器和它的服务时,我希望能够使用主机SSH密钥,以便我可以从一些私人回购协议中提取。我尝试添加像下面的体积,但是这似乎并不奏效docker-compose和ssh卷

version: "2.0" 
    services: 
    my-service: 
    build: 
     context: . 
    args: 
     arg_1: arg1 
     arg_2: arg2 
    volumes: 
     - ~/.ssh:/root/.ssh 

在克隆回购我的错误

ssh_askpass: exec(/usr/bin/ssh-askpass): No such file or directory 

并登录到容器中时的键不存在。我是否错误地接近了这个?

谢谢

+0

您是否尝试编写完整的本地路径,而不是使用〜/ .ssh? –

+0

发布您的Dockerfile的内容 –

回答

0

您使用哪种操作系统?请注意,在某些系统上有额外的虚拟化层,并且〜/ .ssh路径可以引用该虚拟机。

例如,在Windows 7上,您可以通过docker-machine命令管理这些机器。

+0

我使用Mac ..... – Richlewis

+0

据我所知Mac将虚拟机用作码头主机。您按卷挂载的目录实际上是该虚拟机上的目录,而不是您的主机。 – lukjar

+0

啊对...我会尝试修改路径 – Richlewis