在构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
。