【发布时间】:2017-06-01 23:44:12
【问题描述】:
我创建了一个在容器内运行 kafka 的 docker 映像。我还在 docker-compose.yml 中完成了端口映射,用于将主机端口与容器端口进行映射。
在调出 docker 镜像(使用 docker-compose)后,我可以看到 docker 镜像已启动并运行,并且容器也已启动,如下所示:
e39cd6452307 dockerregistry:5000/confluent:latest "/run.sh" 10 hours ago Up 10 hours 0.0.0.0:8081->8081/tcp, 0.0.0.0:2108->2181/tcp, 0.0.0.0:9920->9092/tcp confluent
'ps-ef | grep docker' 还为我提供了以下结果:
root 6594 5257 0 Jan17 ? 00:00:00 docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 9920 -container-ip 172.17.0.1 -container-port 9092
root 6605 5257 0 Jan17 ? 00:00:00 docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8081 -container-ip 172.17.0.1 -container-port 8081
root 6617 5257 0 Jan17 ? 00:04:22 docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 2108 -container-ip 172.17.0.1 -container-port 2181
奇怪的事情从这里开始:
如果我尝试使用容器 IP 和端口(IP:172.17.0.1,端口:2181)从主机连接到容器内运行的服务,我的连接成功并得到正确响应。
但是,如果我尝试使用映射的主机 IP 和端口(使用 10.xx.xx.xx:2108)从主机连接到服务,我会收到拒绝连接消息。 (xx只是用来屏蔽我的机器ip)
此外,“telnet 10.xx.xx.xx 2108”也可以正常工作。
在这种情况下可能是什么问题。我有 docker 版本 1.7.1 和 docker-compose 版本 1.5.0
请帮忙。
【问题讨论】:
-
您使用的是哪个操作系统?
-
Docker 版本太老了,有没有考虑升级?
标签: docker docker-compose dockerfile