Roy*_*ove 80 docker docker-machine
docker-machine version 0.2.0 docker version 1.6.2
我正在使用docker-machine来使用VirtualBox创建一台机器.一切正常,但我想ssh到机器本身,我没有找到如何做到这一点的说明.我可以连接到ssh端口:
ssh $(docker-machine ip dev)
Run Code Online (Sandbox Code Playgroud)
但我不知道要使用哪个用户名/密码/身份文件.
Adr*_*uat 117
您只需运行即可登录docker-machine主机
docker-machine ssh default
Run Code Online (Sandbox Code Playgroud)
(在这里使用"默认"主机)
身份文件应存储在~/.docker/machine/machines.如果要登录容器(而不是主机),请docker exec按user2915097的建议使用.
tim*_*hew 69
如果你真的需要通过它ssh,这是使用docker 1.8.2
init docker:
eval "$(docker-machine env default)"
Run Code Online (Sandbox Code Playgroud)
从默认的docker机器获取IP:
docker-machine ip default
Run Code Online (Sandbox Code Playgroud)
这打印出这样的东西: 192.168.99.100
ssh docker@192.168.99.100
Run Code Online (Sandbox Code Playgroud)
密码是tcuser但您也可以使用身份文件,请参阅其他答案
Jef*_*ein 25
最后,我找到了答案:
我在Windows上使用Docker Toolbox(Docker Machine).
如果我docker-machine -D ssh default,我发现SSH参数应该是:
主机:localhost
端口:51701
用户:docker
密钥:.docker\machine\machines\default\id_rsa
当我改变我的Putty/MobaXterm设置以匹配时,我可以通过SSH进入容器.
rob*_*ert 10
对于那里的黑客,这里有一个脚本,它将进入"活动"的docker-machine.这也为ssh_key,ssh_port和ssh_user提供了值,使得可以rsync在localhost和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
Run Code Online (Sandbox Code Playgroud)
你可以将它复制并粘贴到你的终端,换行,它就可以了.或者,将脚本转换为函数,并将其作为参数提供给它.
如果出于某种原因,您宁愿使用ssh命令而不是docker-machine ssh,则可以执行
ssh `docker-machine ip machine_name` -ldocker -i ~/.docker/machine/machines/machine_name/id_rsa
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
66759 次 |
| 最近记录: |