阅读
this thread之后,我无法100%支持我的密钥,我已经阻止了我应该运行“ssh-add”的步骤.
这是我的docker-compose.yml的一部分:
engine:
build: ./docker/engine/
volumes:
- "./:/var/www/docker:rw"
- "./docker/engine/php.ini:/usr/local/etc/php/conf.d/custom.ini:ro"
- $SSH_AUTH_SOCK:/tmp/agent.sock
environment:
- SSH_AUTH_SOCK=/tmp/agent.sock
在我的容器上,当我用printenv打印它时,我可以毫无问题地看到文件“/tmp/agent.sock”和ENV var“SSH_AUTH_SOCK”.
之后我开始使用ssh-agent:
`eval `ssh-agent -s`
然后我添加了ssh-key:
ssh-add
但是如果我打印出最后一个错误(echo $?),我得到1.
From doc: Exit status is 0 on success, 1 if the specified command fails, and 2
if ssh-add is unable to contact the authentication agent.
我尝试了很多东西,我没有其他想法,我已经访问了谷歌(该死的)所有可能的链接.
如果你有一个解决方案(或一个路径),你将成为我的英雄!
谢谢.
最佳答案 同样在这里,
在Windows上共享〜/ .ssh时没有问题,在windows上它是另一个故事.我设法将我的密钥放在容器的/.ssh文件夹中,但是docker认为它们太开放了(chmod> 600)所以无法进行作曲家安装或类似的东西.我不知道这是否与linux读取NTFS权限或类似的方式有关.
无论哪种方式,它都不起作用,我尝试了很多权限更改
编辑:我已经在Github发布了这个,我们可以从那里得到一些帮助:
https://github.com/docker/docker/issues/27685