docker主机可以ping它的容器吗?

时间:2017-03-21 11:53:54

标签: networking docker port ping host

我在mac上运行docker,我的docker正在运行centos,ifconfig显示eth0地址是“172.17.0.2”。

我试图在终端中ping这个172.17.0.2但是失败了。所以除了使用“docker run”命令之外,有没有办法通过它的服务来访问容器,比如sshd?

我搜索了互联网并找到了端口映射,所以我添加了“-P”选项来运行它:

docker run -itP centos6.5 bash

它应该分配一个随机端口映射吗?但list命令不显示任何“端口”信息,如下所示(滚动一点)

docker container list
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
136ab365eddd        centos6.8_dev       "bash"              11 seconds ago      Up 10 seconds                           practical_wilson

这很奇怪:为什么端口映射不起作用?我试着去试图:

$tcping localhost 5000
localhost port 5000 closed.

1 个答案:

答案 0 :(得分:2)

  

docker主机可以ping其容器吗?

没有

至少不在Mac上。

在Linux上,它只能偶然使用,而不是你应该做的事情。

Docker isn't a virtual machine并且不应该像对待那样对待。您应该将其视为虚拟应用程序。

如果您需要通过tcp / ip端口进入服务,则需要从容器中映射端口号。

docker run -p 1234:1234 my-image

其中1234是tcp / ip端口。

这会在您的主机上localhost:1234创建一个服务。