Linux Docker 防火墙设置 放通 MySQL(3306) Redis(6379) 端口

18 篇文章 0 订阅
9 篇文章 0 订阅

Linux Docker 防火墙设置 放通 MySQL(3306) Redis(6379) 端口,使用firewalld 防火墙或iptables ,因此尝试重新启动 firewalld 服务,添加防火墙规则,并检查防火墙状态。以下是详细步骤:

1. 启动 firewalld 服务

首先启动 firewalld 服务:

sudo systemctl start firewalld
sudo systemctl enable firewalld

2. 添加防火墙规则

添加允许端口 3306(用于 MySQL)和 6379(用于 Redis)的规则:

sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo firewall-cmd --zone=public --add-port=6379/tcp --permanent

3. 重新加载防火墙配置

重新加载防火墙规则以使其生效:

sudo firewall-cmd --reload

4. 检查防火墙状态和规则

检查防火墙状态,确保端口规则已正确应用:

sudo firewall-cmd --list-all

5. 重启 Docker 容器

尝试重新启动 Docker 容器:

sudo systemctl restart docker

如果 firewalld 服务不可用

如果您不想使用 firewalld,也可以使用 iptables 来手动添加规则。

使用 iptables 添加规则

  1. 清除现有规则

    sudo iptables -F
    sudo iptables -t nat -F
    sudo iptables -X
    sudo iptables -t nat -X
  2. 添加 MySQL 和 Redis 规则

    sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 6379 -j ACCEPT
    sudo iptables -t nat -A PREROUTING -p tcp --dport 3306 -j DNAT --to-destination 172.21.0.2:3306
    sudo iptables -t nat -A PREROUTING -p tcp --dport 6379 -j DNAT --to-destination 172.21.0.2:6379
    
  3. 保存 iptables 规则

    对于 CentOS 或 RHEL 系列:

    sudo service iptables save

    对于 Ubuntu 或 Debian 系列:

    sudo apt-get install iptables-persistent
    sudo netfilter-persistent save
    

备注

  • 规则优先级:防火墙规则的顺序可能会影响其生效情况,确保规则正确配置且无冲突。

  • 持久化配置:确保防火墙规则在系统重启后仍然生效,需保存当前配置。

通过这些步骤,您应该能够正确配置防火墙,并确保 Docker 容器能够正常启动和运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码狙击炮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值