让Docker端口映射受Firewall管理而非iptables

要让Docker容器的端口映射受系统防火墙(如firewalld或ufw)管理,而不是直接通过iptables,可以按照以下步骤配置:

方法一:禁用Docker的iptables规则

(1)编辑Docker配置文件:

bash 复制代码
vi /etc/docker/daemon.json

添加以下内容:

bash 复制代码
{
  "iptables": false
}

(2)重启Docker服务:

bash 复制代码
systemctl restart docker

方法二:与firewalld集成(推荐)

确保firewalld已安装并运行:

bash 复制代码
systemctl enable --now firewalld

将Docker接口添加到trusted区域:

bash 复制代码
firewall-cmd --permanent --zone=trusted --add-interface=docker0

允许特定端口通过firewalld:

bash 复制代码
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload

注意事项

1、修改这些设置后,你需要通过firewalld手动管理所有Docker容器的端口访问。

2、某些Docker网络功能可能会受到影响。

3、对于已存在的容器,可能需要重新创建才能使更改生效。

相关推荐
s***45333 分钟前
Linux 下安装 Golang环境
linux·运维·golang
JobDocLS1 小时前
Ubuntu22.04的安装方法
运维
w***76551 小时前
用docker启动mysql步骤
mysql·docker·容器
p***q782 小时前
docker离线安装及部署各类中间件(x86系统架构)
docker·中间件·系统架构
d***95622 小时前
docker 安装 mysql
mysql·adb·docker
豆豆的java之旅2 小时前
深入浅出Activity工作流:从理论到实践,让业务流转自动化
java·运维·自动化·activity·工作流
4***17542 小时前
Linux 下安装 Golang环境
linux·运维·golang
Lenyiin2 小时前
《 Linux 修炼全景指南: 七 》 指尖下的利刃:深入理解 Vim 的高效世界
linux·运维·服务器·vim·lenyiin
sulikey4 小时前
Linux基础指令与权限管理深度解析:从入门到精通
linux·运维·服务器·ubuntu·centos·linux命令·linux权限
陌生人~4 小时前
docker安装redis
redis·docker