我使用docker-compose.yml将新的Rails 5应用程序停靠,并且我将我的ssh-agent套接字转发到compose文件中的容器中。
如果我通过docker-compose构建并运行,这可以正常工作,我可以访问ssh密钥。
但是,如果我将bundle install添加到构建过程中,该过程从私有Git存储库获取并需要SSH密钥,那么它当然还不可用。
我该如何解决这个问题?
我当前的Dockerfile和docker-compose.yml文件是: https://gist.github.com/solars/d9ffbc4c570e9a128d6b0254268d785a
谢谢!
答案 0 :(得分:0)
您需要〜/ .ssh / id_rsa将private repo
克隆到泊坞窗图片中。
单向:复制id_rsa
并粘贴到泊坞窗图片(~/.ssh/
位置)
其他:您可以创建另一个临时id_rsa
(可能在docker容器中运行并复制本地计算机中的.ssh文件)。使用Dockerfile创建docker镜像时,将new .ssh
文件夹复制到docker image(~/ location
)alwasy。接下来,在new .ssh/id_rsa.pub
中添加github account -> settings -> SSH and GPG keys -> new SSH key
。
工作程序:在创建新图片时,您正在使用Dockerfile复制相同的.ssh
文件夹内部,因此id_rsa
保持不变,id_rsa.pub
}之前添加在github account
中。因此,您始终可以从Docker容器中克隆private repo
。