Вот entrypoint моего Dockerfile:
ENTRYPOINT ssh-agent bash\
&& ssh-add directory/id_rsa
Если я выполняю свой контейнер докера с 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
the :
ENTRYPOINT eval `ssh-agent` \
&& ssh-add directory/id_rsa