Git 无法通过ssh将私钥添加到docker生成
我试图在构建过程中向ssh代理(docker映像)添加本地私钥 问题 我已经运行了Git 无法通过ssh将私钥添加到docker生成,git,docker,ssh,ssh-agent,Git,Docker,Ssh,Ssh Agent,我试图在构建过程中向ssh代理(docker映像)添加本地私钥 问题 我已经运行了eval$(ssh-agent-s),docker运行ssh-add/etc/ssh/id\u-rsa后,我收到以下错误: 无法打开与身份验证代理的连接。 目标: 我需要在安装到NPM的过程中克隆一个私有git repo。这个本地密钥将允许我对私有repo进行身份验证 ==输出代码段==== Step 8/16 : RUN eval $(ssh-agent -s) ---> Running in 195ff
eval$(ssh-agent-s)
,docker运行ssh-add/etc/ssh/id\u-rsa后,我收到以下错误:
无法打开与身份验证代理的连接。
目标:
我需要在安装到NPM的过程中克隆一个私有git repo。这个本地密钥将允许我对私有repo进行身份验证
==输出代码段====
Step 8/16 : RUN eval $(ssh-agent -s)
---> Running in 195ffeb1f84f
Agent pid 8
---> 0fcbc89d362f
Removing intermediate container 195ffeb1f84f
Step 9/16 : RUN ssh-add /etc/ssh/id_rsa
---> Running in ae99039e1fba
Could not open a connection to your authentication agent.
The command '/bin/sh -c ssh-add /etc/ssh/id_rsa' returned a non-zero code: 2
为什么不在容器中使用体积
您可以使用/root/.ssh/id\u rsa
路径在容器卷中装载/etc/ssh/id\u rsa
。当您在步骤9中时,您在步骤8中运行的代理已死亡。您需要或一次性执行所有步骤才能使其正常工作
RUN eval $(ssh-agent -s) && ssh-add /etc/ssh/id_rsa && git checkout .....
当您在步骤9中运行代理时,您在步骤8中运行的代理已死亡。您需要或一次性执行所有步骤才能使其正常工作<代码>运行eval$(ssh-agent-s)和&ssh-add/etc/ssh/id\u-rsa和&git-checkout…
我真的解决了这个问题。非常感谢!您只能在运行时使用装载卷。值得一提的是,这对~/.ssh/config
的所有权有挑战。我还没有找到解决这个问题的方法。这正是我在dockerfile中使用的代码。我还从Alpine映像移动到节点9(jessie)运行echo“$ssh_prv_key”>/etc/ssh/id_rsa&&echo“$ssh_pub_key”>/etc/ssh/id_rsa&&chmod 600/etc/ssh/id_rsa.pub&&chmod 600/etc/etc/ssh/&eval$(ssh-s)&&&\ssh-add/etc/ssh/id\u rsa&&\ssh-add-l&&\cat/etc/ssh/id\u rsa&&cat/etc/ssh/id\u rsa.pub&\npm-install-g sails&\npm-install
谢谢!这救了我一天的挠头和尝试随机的事情