这是我的Dockerfile的入口点:
ENTRYPOINT ssh-agent bash\
&& ssh-add directory/id_rsa
如果使用来运行docker容器docker run my_conatiner -rm
,则会得到:
Could not open a connection to your authentication agent.
而不是提示您插入私钥密码。
但是,如果使用来运行,ENTRYPOINT /bin/bash
并手动粘贴两个命令,则会提示我插入私钥的密码。
运行ssh-agent bash
将bash
在设置了环境变量的情况下开始新的运行。但是,由于您不提供任何输入,因此,bash
出口以及,ssh-agent
然后在原始入口中,bash
都再也没有与的连接ssh-agent
。借助过程图,如何称呼它们:
bash
'- ssh-agent bash
'- bash < no input, exits cleanly
'- ssh-add ...
你想要做的,而不是什么是调用ssh-agent
的预期方式:
ENTRYPOINT eval `ssh-agent` \
&& ssh-add directory/id_rsa
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句