【发布时间】:2018-04-24 15:56:47
【问题描述】:
我想在构建时将代码从 Github 提取到我的 Docker 映像中。我有一个从存储库生成的部署密钥,但在我看来 ssh-agent 不适用于我的 Docker 映像。
我做了什么(我的 Dockerfile):
FROM python:2.7-stretch
ADD ./id_rsa /root/.ssh/id_rsa
RUN eval "$(ssh-agent -s)"
RUN ssh-add -K /root/.ssh/id_rsa
输出:
Step 12/22 : RUN eval "$(ssh-agent -s)"
---> Running in f9ad80981cee
Agent pid 6
Removing intermediate container f9ad80981cee
---> d773f7ce5917
Step 13/22 : RUN ssh-add -K /root/.ssh/id_rsa
---> Running in 95efeed6a7ad
Could not open a connection to your authentication agent.
The command '/bin/sh -c ssh-add -K /root/.ssh/id_rsa' returned a non-zero code: 2
如您所见,ssh-agent 已启动,但未在其中添加密钥。
如果我跳过 ssh-add 步骤,那么我的 git pull 稍后会因为特权而失败,因为没有发生身份验证,这正如预期的那样失败。
【问题讨论】: