背景:
生产环境需要用docker发布新的应用,结果docker启动失败,报了iptables异常

先说导致这个问题的原因:

firewall是基于iptables工具来管理防火墙,docker 使用iptables 来实现网络隔离。docker 默认使用 bridge 网桥模式来实现容器的网络。

dockerd 会在 iptables 建立 docker 链来设置所有的规则。但是这些规则并不会持久化到firewall配置文件,重启firewall后这些规则都将消失,直接导致运行的容器访问失效。

解决方法:
重启docker服务, 会自动自动加载iptables规则
systemctl restart docker

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐