问题:
宿主主机配置了防火墙只允许开放80端口,我的另外2个容器通过
docker network create --driver bridge office_bridge
网络通讯,在内网测试环境没有宿主机防火墙限制的情况下,可以正常通讯,部署到生成环境后2个容器能ping通,但无法通过端口访问。
解决办法:
将docker创建的网络加入防火墙的信任区域
firewall-cmd --zone=trusted --add-interface=office_bridge
firewall-cmd --reload //重启防火墙
systemctl restart docker //重启docker,重要:不重启不生效
防火墙一些操作命令
#查看状态
systemctl status firewalld
#关闭防火墙
systemctl stop firewalld
#永久关闭防火墙
systemctl disable firewalld
#启动防火墙
systemctl enable firewalld
#打开单个端口: permanent 为永久生效,不加为单次有效(重启失效)
firewall-cmd --zone=public --add-port=80/tcp --permanent
#打开多个端口:
firewall-cmd --zone=public --add-port=20000-29999/tcp --permanent
#查看开启端口
firewall-cmd --list-ports
#关闭端口命令
firewall-cmd --zone=public --remove-port=80/tcp --permanent
#查看端口是否打开
firewall-cmd --zone=public --query-port=80/tcp