在构建期间,dockerized rails应用程序中的私有Github存储库

时间:2016-12-07 07:53:39

标签: ruby-on-rails git docker ssh docker-compose

我使用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

谢谢!

1 个答案:

答案 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