如何通过SSH连接docker容器?

我使用这个教程: https : //docs.docker.com/examples/running_ssh_service/我已经完成了上面的步骤,我使用docker ps来查找端口,并假设我的端口是32769当我input这个命令:

ssh root@192.168.1.2 -p 32769

它只是告诉我:

ssh root @ localhost -p 32769 ssh:连接到主机localhost端口32769:连接被拒绝

这是关于命令“docker ps”的信息:

bash-3.2$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5e22e16a7742 liuxin/centos:ssh "/bin/sh -c '/usr/sb 40 minutes ago Up 40 minutes 0.0.0.0:32769->22/tcp c_ssh_centos eaa412773bb2 registry "docker-registry" 2 hours ago Up 2 hours 0.0.0.0:5000->5000/tcp registry 

我使用Mac OS X并打开远程login。 我不知道如何使连接成功。 谢谢

如果ssh告诉你它正在尝试连接到localhost ,那么这是你的问题。 Docker不能在Mac上本地运行。 相反,它运行在一个拥有自己IP地址的虚拟机上,这就是你需要连接东西。

假设你在使用docker-machine ,你可以这样做:

 $ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM dev * vmwarefusion Running tcp://192.168.201.162:2376 

这表明我有一个名为“dev”的活动VM作为我的Docker机器。 然后我可以跑

 ssh root@$(docker-machine ip dev) -p 32769 

要ssh到适当的IP地址。