问题:发现经理要求开防火墙,开了之后 之前的部分容器无法访问,端口明明都开放了。


问题分析:

关机启动,防火墙会自动启动导致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.


生命在于折腾