我使用的是类似 Debian 的操作系统,我决定从头开始启动我的 iptable 过滤器,我使用以下命令放弃了所有内容:
sudo iptables -F
sudo iptables -X
sudo iptables -P INPUT ACCEPT
sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
但是使用此配置,我无法启动我的 docker 容器。在我的容器中,我有一个 nginx 服务器、一个 php-fpm 和一个 mysql 数据库。因此,当我运行
docker compose up
我有
守护进程的错误响应:驱动程序无法在端点 front_orcieres 上编程外部连接(d6e7efba20b11de242cbb40772697857e13ef11e42b567f3b39b3577ce6615e0):(iptables 失败:iptables --wait -t filter -A DOCKER!-i br-283b29a6561f -o br-283b29a6561f -p tcp -d 172.19.0.7 --dport 80 -j ACCEPT:iptables:没有该名称的链/目标/匹配。(退出状态 1))
我知道docker网络在设备上有一些现有的规则,我想知道Iptables命令如何为docker生成正确的过滤表
提前致谢,
答案1
当你重新启动 docker 服务时,它会自动重新创建正确的 iptables 规则