Networking docker能否承载ping其容器?
我在mac上运行docker,我的docker运行centos,ifconfig显示eth0地址为“172.17.0.2” 我尝试在终端中ping此172.17.0.2,但失败。所以,除了使用“docker run”命令外,还有什么方法可以通过它的服务(如sshd)访问容器吗 我搜索了internet并找到了端口映射,所以我添加了“-p”选项来运行它:Networking docker能否承载ping其容器?,networking,docker,port,ping,host,Networking,Docker,Port,Ping,Host,我在mac上运行docker,我的docker运行centos,ifconfig显示eth0地址为“172.17.0.2” 我尝试在终端中ping此172.17.0.2,但失败。所以,除了使用“docker run”命令外,还有什么方法可以通过它的服务(如sshd)访问容器吗 我搜索了internet并找到了端口映射,所以我添加了“-p”选项来运行它: docker run -itP centos6.5 bash 它应该分配一个随机端口映射权限?但是list命令不显示任何“端口”信息,如下所示
docker run -itP centos6.5 bash
它应该分配一个随机端口映射权限?但是list命令不显示任何“端口”信息,如下所示(滚动一点)
这很奇怪:为什么端口映射不起作用?我尝试了tcping:
$tcping localhost 5000
localhost port 5000 closed.
docker能否承载ping其容器
没有
至少在Mac上没有
在linux上,它只是偶尔起作用,无论如何都不是你应该做的事情
不应该像现在这样对待。您应该将其视为一个虚拟应用程序
如果需要通过tcp/ip端口进入服务,则需要从容器映射端口号
docker run-p 1234:1234我的图像
其中1234
是tcp/ip端口
这将在主机上的
localhost:1234
上创建一个侦听服务。您应该能够ping,您可以通过运行您的容器docker inspect-f'{.NetworkSettings.IPAddress}}'来获取容器ip-P将随机端口分配给映像中标记为暴露的端口,因此不会执行任何操作,因为ping使用不同的协议。
$tcping localhost 5000
localhost port 5000 closed.