真正的docker noob,试图获得一个可以通过SSH访问的ubuntu容器。
我使用this dockerfile和建筑物&用
运行它ssh IP_ADDR
我可以直接向主机和其上的虚拟机发送,以及运行相同映像的其他容器。但是,当我尝试{@ 1}}来自主机,其中IP_ADDR是给定的IP地址" inet addr"在容器的eth0中(当使用ifconfig时)它不能说ssh: connect to host IP_ADDR port 22: Network is unreachable
。我也可以从容器中ping出来,但是当它超时时不能进入它们。主机是否不在桥接网络上,如果是,我该如何使用?
答案 0 :(得分:0)
试试这个
$ docker run --name test -p 22:22 sshable
或者您也可以检查映射的docker端口
$ docker run --name test sshable
$ docker port sshable 22
0.0.0.0:49154
然后你可以在端口49154(在这种情况下)的容器的IP地址上以root身份ssh
$ ssh root@192.168.1.2 -p 49154
答案 1 :(得分:0)
当您使用
运行容器时docker run --name test -t sshable
此容器公开端口22,但不会连接到主机上的任何端口。这意味着如果您启动另一个容器,如
docker run -it ubuntu:14.04
你能够从这个ubuntu容器ssh到你的容器。但是如果您从VM内部运行Docker,您将无法从VM外部进入容器。为此,您需要将ssh容器连接到该VM上的某个端口
docker run --name test -p 22:22 sshable
现在,您可以使用ssh <vm-ip>
ssh到此容器中。