问题:发现经理要求开防火墙,开了之后 之前的部分容器无法访问,端口明明都开放了。
问题分析:
关机启动,防火墙会自动启动导致docker无法访问,在bridge模式下,docker会默认写入iptables规则,防火墙重启或者状态有变动就会导致iptables规则失效,所以生产要不就是关闭防火墙起docker,要不就开启防火墙起docker,过程中不要让防火墙重启;
解决方案:
步骤1:重启防火墙服务
首先我们需要重启防火墙服务,可以使用以下命令:
sudo systemctl restart firewalld
这条命令的意思是重新启动防火墙服务。
步骤2:重启docker服务
接着我们需要重启docker服务,可以使用以下命令:
sudo systemctl restart docker
这条命令的意思是重新启动docker服务。
步骤3:重新加载docker容器
最后我们需要重新加载docker容器,可以使用以下命令:
docker ps -q | xargs docker restart
这条命令的意思是列出正在运行的所有docker容器并重新启动它们。
Q.E.D.