我在mac上运行docker,我的端口运行centos,ifconfig显示eth0地址是"172.17.0.2“。
我试着在我的终端上点击这个172.17.0.2,但是失败了。因此,除了使用"docker“命令之外,是否有一种方法可以通过sshd之类的服务访问容器?
我搜索了internet并找到了端口映射,所以我添加了"-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.发布于 2017-03-21 12:06:09
码头主能打开它的集装箱吗?
不是的。
至少在麦克身上没有。
在linux上,它只是偶然地起作用,而不是你应该做的事情。
Docker不是虚拟机,不应该被这样对待。相反,您应该将其视为一个虚拟应用程序。
如果需要通过tcp/ip端口进入服务,则需要从容器中映射端口号。
docker run -p 1234:1234 my-image
其中1234是tcp/ip端口。
这将在主机上创建一个在localhost:1234上侦听的服务。
https://stackoverflow.com/questions/42926388
复制相似问题