运维开发网

Docker:如何使用ssh访问私有github仓库?

运维开发网 https://www.qedev.com 2020-06-15 18:31 出处:网络 作者:运维开发网整理
我正在尝试使用Docker克隆来自 github的私人仓库.问题是我需要使用ssh来访问该repo.我在我的github项目设置中添加了一个密钥,我想,它用于识别docker的服务器. 我的问题是我无法弄清楚我应该在Dockerfile中写什么,以便服务器在尝试访问我的github仓库时使用该密钥.我看到了将id_rsa添加到容器中的示例,但我不知道id_rsa存储在其服务器上的位置(如果存在)
我正在尝试使用Docker克隆来自 github的私人仓库.问题是我需要使用ssh来访问该repo.我在我的github项目设置中添加了一个密钥,我想,它用于识别docker的服务器.

我的问题是我无法弄清楚我应该在Dockerfile中写什么,以便服务器在尝试访问我的github仓库时使用该密钥.我看到了将id_rsa添加到容器中的示例,但我不知道id_rsa存储在其服务器上的位置(如果存在)

RUN mkdir /root/.ssh/
# can't find the file id_rsa
ADD id_rsa /root/.ssh/id_rsa 
RUN touch /root/.ssh/known_hosts
RUN ssh-keyscan github.com >> /root/.ssh/known_hosts

run git clone git@github.com:user/repo.git

如何从docker的服务器访问我的私人仓库?

如果要使用Dockerfile中的git,则需要以与配置自己的开发机器相同的方式配置容器.

我无法真正理解“他们的服务器”中哪个是“他们的”,所以我只是在猜测.

当您使用github注册公钥时,您也应该拥有私钥.这是你在其他例子中看到的id_rsa.

如果找不到该文件,请重新开始.删除旧密钥generate a new one并在github和docker构建上下文中进行配置(在您的示例中,只需将其复制到与Dockerfile相同的文件夹中).

作为一种不同的策略,您可能希望在图像构建过程之外进行检出(在本地克隆并将所有内容添加到图像中).

0

精彩评论

暂无评论...
验证码 换一张
取 消