docker telnet不通的解决办法:1、查看配置文件;2、修改nginx配置文件的端口为80;3、重新加载即可。
本文操作环境:centOS6.8系统、Docker 18.09.x版、Dell G3电脑。
如何解决docker telnet不通的问题?
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里写规则的。
推荐学习:《docker视频教程》
以上是如何解决docker telnet不通的问题的详细内容。更多信息请关注PHP中文网其他相关文章!