docker 主机能否 ping 通其容器?
Can docker host ping its containers?
我在 mac 上 运行ning docker,我的 docker 是 运行ning centos,ifconfig 显示 eth0 地址是“172.17.0.2 ".
我试图在我的终端中 ping 这个 172.17.0.2 但失败了。所以除了使用 "docker run" 命令,有没有办法通过像 sshd 这样的服务来访问容器?
我在互联网上搜索并找到了端口映射,所以我在 运行 中添加了“-P”选项:
docker run -itP centos6.5 bash
应该分配一个随机端口映射吧?但是 list 命令不显示任何 "port" 信息,如下所示(稍微滚动一下)
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:
$tcping localhost 5000
localhost port 5000 closed.
Can docker host ping its containers?
没有
至少 Mac 没有。
在 linux 上,它只是偶然起作用,无论如何都不是你应该做的事情。
Docker isn't a virtual machine 不应像现在这样对待。相反,您应该将其视为虚拟应用程序。
如果需要通过tcp/ip端口进入服务,需要从容器映射端口号。
docker run -p 1234:1234 my-image
其中 1234
是 tcp/ip 端口。
这会在您的主机上创建一个侦听 localhost:1234
的服务。
我在 mac 上 运行ning docker,我的 docker 是 运行ning centos,ifconfig 显示 eth0 地址是“172.17.0.2 ".
我试图在我的终端中 ping 这个 172.17.0.2 但失败了。所以除了使用 "docker run" 命令,有没有办法通过像 sshd 这样的服务来访问容器?
我在互联网上搜索并找到了端口映射,所以我在 运行 中添加了“-P”选项:
docker run -itP centos6.5 bash
应该分配一个随机端口映射吧?但是 list 命令不显示任何 "port" 信息,如下所示(稍微滚动一下)
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:
$tcping localhost 5000
localhost port 5000 closed.
Can docker host ping its containers?
没有
至少 Mac 没有。
在 linux 上,它只是偶然起作用,无论如何都不是你应该做的事情。
Docker isn't a virtual machine 不应像现在这样对待。相反,您应该将其视为虚拟应用程序。
如果需要通过tcp/ip端口进入服务,需要从容器映射端口号。
docker run -p 1234:1234 my-image
其中 1234
是 tcp/ip 端口。
这会在您的主机上创建一个侦听 localhost:1234
的服务。