我一直在努力将ssh-agent转发到我的docker容器中(使用我的docker-compose安装)。我使用运行Catalina的Mac,docker-engine 19.03.8和Compose @ 1.24。以下是我的docker-compose文件:
version: '3.7'
services:
platform:
build:
context: .
dockerfile: ./platform/compose/Dockerfile.platform.local
working_dir: /root/platform
ports:
- "3000:3000"
command: ["./compose/scripts/start_rails.sh"]
tty: true
stdin_open: true
volumes:
- type: bind
source: /run/host-services/ssh-auth.sock
target: /run/host-services/ssh-auth.sock
env_file: ./platform/.env
environment:
TERM: xterm-256color
SSH_AUTH_SOCK: /run/host-services/ssh-auth.sock
volumes:
我配置ssh-agent转发的方法如docker-compose文档中所述。
./compose/scripts/start_rails.sh
脚本执行bundle install && bundle exec rails s
。我有一些从私有仓库获取的gem包,我认为通过转发ssh-agent应该能够安装这些gem包。
我还尝试在启动docker-compose之前启动ssh-agent,但似乎没有任何作用。
{
"debug": true,
"experimental": true,
"features": {
"buildkit": true
}
}
这是我在我的Docker配置文件中添加的内容,感谢任何帮助。
**更新:0 **
以下是我的.ssh目录结构和配置:
tree ~/.ssh
├── config
├── known_hosts
├── midhun
│ ├── id_rsa
│ └── id_rsa.pub
└── client
├── id_rsa
└── id_rsa.pub
查看 ~/.ssh/config 文件
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/client/id_rsa
Host me.github.com
HostName github.com
User git
IdentityFile ~/.ssh/midhun/id_rsa
更新:1
我已经使用ForwardAgent Yes
更新了我的配置,但还是没有用。我在这个Gist中记录了整个ssh日志-> https://gist.github.com/midhunkrishna/8f77ebdc90c7230d2ffae0834dc477cc。
bundle install
时,bundler可以从私有存储库中获取gem。 - MIdhun KrishnaForwardAgent yes
并查看是否有效。 - Tarun Lalwani