docker容器启动后,telnet端口不通的问题,已解决


今天使用docker部署nginx,部署完毕后,查看容器已经启动了。这时发现telnet端口却不通,而且是telnet本地IP都不通,直接r报Connection refused,使用127.0.0.1 telnet,虽然是通的,但有问题,报Connection closed by foreign host.目前终于解决了,说下处理思路。

docker network inspect bridge #查看容器的IP为 172.17.0.2

curl 容器IP+80端口,拒绝连接,curl容器IP+宿主机端口8090,尽然正常返回。如下图

很奇怪,不应该啊,因为查看 容器进程会发现,8090是宿主机端口,而80端口才是容器端口

最后,查看配置文件发现,nginx配置文件的端口不是80,而写成了8090,修改nginx配置文件的端为80后,重新加新,telnet端口不通的问题就解决了。

建议,在启动容器时,宿主机的端口和容器端口最好一致了

在使用DOCKER时,iptables -F 命令慎用,该命令会清空防火墙规则,而容器与宿主机通信,默认是会在iptables里写规则的。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM