Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Networking docker能否承载ping其容器?_Networking_Docker_Port_Ping_Host - Fatal编程技术网

Networking docker能否承载ping其容器?

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命令不显示任何“端口”信息,如下所示

我在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命令不显示任何“端口”信息,如下所示(滚动一点)

这很奇怪:为什么端口映射不起作用?我尝试了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.