ssh docker docker-compose docker-machine

Inyectar las claves SSH del host en Docker Machine con Docker Compose



docker-compose docker-machine (2)

Estoy usando Docker en Mac OS X con Docker Machine (con el equipo predeterminado boot2docker) y utilizo docker-componte para configurar mi entorno de desarrollo.

Digamos que uno de los contenedores se llama " stack ". Ahora lo que quiero hacer es llamar:

docker-composer run stack ssh [email protected]

Mi clave pública (que se ha agregado a stackoverflow.com y que se usará para autenticarme) se encuentra en el equipo host. Quiero que esta clave esté disponible para el contenedor Docker Machine, de modo que pueda autenticarme contra stackoverflow usando esa clave desde dentro del contenedor. Preferiblemente sin copiar físicamente mi clave a Docker Machine.

¿Hay alguna manera de hacer esto? Además, si mi clave está protegida por contraseña, ¿hay alguna forma de desbloquearla una vez, así que después de cada inyección no tendré que ingresar la contraseña manualmente?


Puede agregar esto a su docker-compose.yml (suponiendo que su usuario dentro del contenedor es root):

volumes: - ~/.ssh:/root/.ssh

También puede buscar una solución más avanzada con el agente ssh (no lo intenté yo mismo)


Puede reenviar el agente SSH:

something: container_name: something volumes: - $SSH_AUTH_SOCK:/ssh-agent # Forward local machine SSH key to docker environment: SSH_AUTH_SOCK: /ssh-agent