让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、对于已存在的容器,可能需要重新创建才能使更改生效。

相关推荐
诡异森林。16 分钟前
Docker--Docker网络原理
网络·docker·容器
Lalolander21 分钟前
设备制造行业如何避免项目管理混乱?
运维·制造·工程项目管理·四算一控·epc·环保设备工程·设备制造
ALex_zry30 分钟前
Docker Macvlan网络配置实战:解决“network already exists“错误
网络·docker·php
IT小辉同学36 分钟前
Docker如何更换镜像源提高拉取速度
spring cloud·docker·eureka
LucianaiB39 分钟前
【金仓数据库征文】_AI 赋能数据库运维:金仓KES的智能化未来
运维·数据库·人工智能·金仓数据库 2025 征文·数据库平替用金仓
prinrf('千寻)1 小时前
nacos设置权重进行负载均衡不生效
运维·负载均衡
Lary_Rock1 小时前
Android 编译问题 prebuilts/clang/host/linux-x86
android·linux·运维
绵绵细雨中的乡音1 小时前
Linux进程学习【基本认知】
linux·运维·学习
matrixlzp2 小时前
K8S Service 原理、案例
云原生·容器·kubernetes
GnixAij3 小时前
Docker SSH端口转发
docker·ssh