如何通过ssh连接docker容器?

时间:2015-07-02 09:49:27

标签: ssh docker boot2docker

我在这里使用教程: https://docs.docker.com/examples/running_ssh_service/ 我完成了上面的步骤,我使用docker ps找到端口,并在输入此命令时假设我的端口是32769:

  

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并已打开远程登录。 我不知道如何使连接成功。 感谢

1 个答案:

答案 0 :(得分:1)

如果ssh告诉您它正在尝试连接localhost,那么这就是您的问题。 Docker不会在Mac上本机运行。相反,它在具有自己的IP地址的VM中运行,并且 您需要连接的内容。

假设您正在使用docker-machine,则可以执行以下操作:

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

这表明我有一个名为" dev"作为我的Docker机器。然后我可以运行

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

要ssh到适当的IP地址。