que machine hub create docker docker-machine

hub - docker-machine create



¿Cómo ssh en la instancia de docker-machine VirtualBox? (6)

Finalmente encontré una respuesta:

Estoy en Windows con Docker Toolbox (Docker Machine).

Si docker-machine -D ssh default , encuentro que los parámetros SSH deberían ser:

Anfitrión: localhost
Puerto: 51701
Usuario: docker
Clave: .docker / machine / machines / default / id_rsa

Cuando cambio la configuración de Putty / MobaXterm para que coincida, listo, puedo usar SSH en el contenedor.

docker-machine versión 0.2.0 docker versión 1.6.2

Estoy usando docker-machine para crear una máquina usando VirtualBox . Todo funciona bien, pero me gustaría meterme en la máquina y no encuentro instrucciones sobre cómo hacerlo. Puedo conectarme al puerto ssh:

ssh $(docker-machine ip dev)

Pero no tengo idea de qué nombre de usuario / contraseña / archivo de identidad usar.


Para los piratas informáticos, aquí hay un script que se introducirá en la máquina docker ''activa''. Esto también le proporciona los valores para ssh_key, ssh_port y ssh_user, lo que permite hacer cosas como rsync entre el localhost y la VM.

#!/bin/bash docker_machine_name=$(docker-machine active) docker_ssh_user=$(docker-machine inspect $docker_machine_name --format={{.Driver.SSHUser}}) docker_ssh_key=$(docker-machine inspect $docker_machine_name --format={{.Driver.SSHKeyPath}}) docker_ssh_port=$(docker-machine inspect $docker_machine_name --format={{.Driver.SSHPort}}) ssh -i $docker_ssh_key -p $docker_ssh_port $docker_ssh_user@localhost

Puede copiar y pegar eso en su terminal, línea por línea, y funcionará. O bien, convierta el script en una función y alimente el nombre como argumento.


Para mac OX, la máquina y sus claves se encuentran aquí (asegúrese de tener las claves allí, algo como lo siguiente:

~/project/dev/docker_notes za$ ls /Users/za/.docker/machine/machines/default/ .DS_Store ca.pem config.json disk.vmdk id_rsa.pub server-key.pem boot2docker.iso cert.pem default/ id_rsa key.pem server.pem

1) lista de vms disponibles.

> ~/project/dev/docker_notes za$ docker-machine ls > NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS > default - virtualbox Running tcp://192.168.99.100:2376 v1.11.0

En mi caso, el nombre de la máquina es el predeterminado. Por lo que sólo

~/project/dev/docker_notes za$ docker-machine ssh default ## . ## ## ## == ## ## ## ## ## === /"""""""""""""""""/___/ === ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~ /______ o __/ / / __/ /____/_______/ _ _ ____ _ _ | |__ ___ ___ | |_|___ / __| | ___ ___| | _____ _ __ | ''_ / / _ / / _ /| __| __) / _` |/ _ / / __| |/ / _ / ''__| | |_) | (_) | (_) | |_ / __/ (_| | (_) | (__| < __/ | |_.__/ /___/ /___/ /__|_____/__,_|/___/ /___|_|/_/___|_| Boot2Docker version 1.11.0, build HEAD : 32ee7e9 - Wed Apr 13 20:06:49 UTC 2016 Docker version 1.11.0, build 4dc5990 docker@default:~$ vi .ash_history .ashrc .docker/ .local/ .profile .ssh/ log.log docker@default:~$ ls log.log

Como puede ver, puedo ingresar a docker-machine / instance.

docker@default:~$ uname -a Linux default 4.1.19-boot2docker #1 SMP Thu Apr 7 02:41:05 UTC 2016 x86_64 GNU/Linux

También puedes seguir esto> howto - docker


Puede iniciar sesión en los hosts de la máquina acoplable simplemente ejecutando

docker-machine ssh default

(Usando el host "predeterminado" aquí)

Los archivos de identidad deben almacenarse en ~/.docker/machine/machines . Si desea iniciar sesión en un contenedor (en lugar del host), use docker exec como lo sugiere el usuario 2915097.


Si por alguna razón prefiere usar el comando ssh lugar de docker-machine ssh , puede hacerlo

ssh `docker-machine ip machine_name` -ldocker -i ~/.docker/machine/machines/machine_name/id_rsa


si realmente necesita hacerlo a través de ssh , esto está funcionando con docker 1.8.2

ventana acoplable init:

eval "$(docker-machine env default)"

obtenga la IP de su máquina acoplable predeterminada:

docker-machine ip default

esto imprime algo como esto: 192.168.99.100

ssh [email protected]

la contraseña es tcuser pero también puede usar el archivo de identidad, vea otra respuesta