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