docker主机可以ping它的容器吗?
我在mac上运行docker,我的docker运行centos和ifconfig显示eth0地址是“172.17.0.2”。
我试图在我的terminalping 172.17.0.2,但失败了。 所以,除了使用“docker运行”命令,有没有办法通过它的服务,如sshd访问容器?
我search了互联网,发现端口映射,所以我添加了“-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.
docker主机可以ping它的容器吗?
没有。
至less不是在Mac上。
在Linux上,它只能顺便工作,而不是你应该做的任何事情。
Docker不是一个虚拟机 ,不应该被视为它。 相反,您应该将其视为虚拟应用程序。
如果您需要通过tcp / ip端口进入服务,则需要映射容器中的端口号。
docker run -p 1234:1234 my-image
其中1234
是tcp / ip端口。
这会在您的主机上创build一个监听localhost:1234
的服务。