我正在尝试使用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的服务器访问我的私人仓库?
我设法通过在密钥上使用ssh-add来完成此操作.
使用多个RUN
指令的"问题" 是非持久性数据在下一个不可用RUN
.我设法登录并使用github私人回购
RUN eval `ssh-agent -s` && \ ssh-add id_rsa && \ git clone git@github.com:user/repo.git
通过&&
在单个CMD上使用,eval
进程仍将运行,并且当您连接到github时,ssh-agent已加载密钥.
我希望这有帮助.