docker端口映射成功 不可用_docker启动后访问拒绝连接

2022-11-02 11:22:14 浏览数 (1)

情境描述

创建一个docker容器,并进行端口映射。容器启动后,在部署容器的主机上可以访问映射端口,但是其他主机无法访问。

问题排查

出现上述情况,应是请求被拦截。出现该问题的可能是由于firewall配置异常、ip转发关闭、iptables服务拦截了请求

排查firewall

(1) 使用firewall-cmd --state查看防火墙运行情况 如果防火墙处于not running,则可以排除防火墙阻断请求的可能。 如果输出防火墙处于running则表示防火墙正在运行,需进行下一步排查 (2) 使用firewall-cmd --list-portsfirewall-cmd --list-services查看防火墙开放了哪些端口和服务。如果开放的端口中没有包含docker容器对外映射的端口,则可以采取以下解决方式:

  • 关闭防火墙服务systemctl stop firewalld.service
  • 添加策略打开指定端口
代码语言:javascript复制
$ firewall-cmd --add-port=port/tcp --permanent
$ firewall-cmd reload

查看ip转发是否开启

通过cat /proc/sys/net/ipv4/ip_forward查看ip转发是否开启。如果该值为0则需要配置其开启

代码语言:javascript复制
$ echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/180917.html原文链接:https://javaforall.cn

0 人点赞