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

我正在尝试使用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相同的文件夹中).

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

相关文章

最近一直在开发Apworks框架的案例代码,同时也在一起修复Apw...
最近每天都在空闲时间努力编写Apworks框架的案例代码WeText。...
在《Kubernetes中分布式存储Rook-Ceph部署快速演练》文章中,...
最近在项目中有涉及到Kubernetes的分布式存储部分的内容,也...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...