在构build期间在dockerized rails应用程序中使用私有Github存储库

我用docker-compose.ymldocker化了一个新的Rails 5应用程序,并且将我的ssh-agent套接字转发到了撰写文件中的容器中。

如果我通过docker构build和运行,这是工作正常,我可以访问SSH密钥。

但是,如果将bundle install添加到从私有Git存储库获取并需要SSH密钥的构build过程中,则当然还不可用。

我该如何解决这个问题?

我目前的Dockerfile和docker-compose.yml文件是: https ://gist.github.com/solars/d9ffbc4c570e9a128d6b0254268d785a

谢谢!

你需要〜/ .ssh / id_rsa克隆到docker镜像的private repo

  • 一种方法:复制你的id_rsa并粘贴到docker镜像( ~/.ssh/ location)

  • 其他:你可以创build另一个临时的id_rsa (也许运行在一个docker容器中并将.ssh文件复制到本地机器上)。 使用Dockerfile创buildDocker镜像时,将new .ssh文件夹复制到docker镜像( ~/ location )alwasy中。 接下来,在您的github account -> settings -> SSH and GPG keys -> new SSH key添加new .ssh/id_rsa.pub github account -> settings -> SSH and GPG keys -> new SSH key

    工作程序:当你创build一个新的图像,你正在做复制相同的.ssh文件夹内的图像由Dockerfile,所以id_rsa保持不变, id_rsa.pub被添加到您的github account之前。 所以,你可以总是从Docker容器中克隆你的private repo