O entrypoint do Docker não solicitará minha entrada

1

Aqui está o entrypoint do meu Dockerfile:

ENTRYPOINT ssh-agent bash\
           && ssh-add directory/id_rsa

Se eu executar meu contêiner do Docker com docker run my_conatiner -rm , recebo:

Could not open a connection to your authentication agent.

em vez de ser solicitado a inserir a senha da chave privada.

Se eu executar, no entanto, com ENTRYPOINT /bin/bash e colar os dois comandos manualmente, serei solicitado a inserir a senha da chave privada.

    
por Guerlando OCs 05.03.2017 / 11:14

1 resposta

1

A execução de ssh-agent bash iniciará um novo bash com o conjunto de variáveis de ambiente. Mas como você não fornece nenhuma entrada, o bash sai, junto com o ssh-agent e, em seguida, no original bash , não há mais nenhuma conexão com o ssh-agent . Com um diagrama de processos como eles são chamados:

bash
 '- ssh-agent bash
   '- bash < no input, exits cleanly
 '- ssh-add ...

O que você deseja fazer é invocar ssh-agent o caminho pretendido :

ENTRYPOINT eval 'ssh-agent' \
       && ssh-add directory/id_rsa
    
por Jakuje 05.03.2017 / 17:15