-
前情提要:
- 在 Centos 7 系统中,
- 如果你启用了防火墙并且想要 Docker 正常运行,你需要配置防火墙以允许 Docker 的相关流量。
- 我们先来使用 docker-compose ps 来查来运行的容器
- (我们因为还没有运行任何一个容器,所以这里显示为空)
- 之后,我们正常 启动一个 容器 使用 命令 docker-compose up -d
- (我们发现启动报错,不能成功开启)
-
一般情况下,自己想要开启docker环境只需要关闭防火墙即可。(但这实际上是非常不安全的行为)
-
在实际场景中,我们想在启用防火墙的情况下并且想要 Docker 正常运行,那就需要配置防火墙以允许 Docker 的相关流量
-
首先查看防火墙运行状态, 发现 处于 active(running)正常开启状态
-
然后执行下列配置操作
-
重新开启 docker 环境,发现环境可以正常拉取啦
- 通过web 界面访问,也能验证 docker 启动成功
-
以下是具体配置方法:
- #1. 首先,确保你的系统已经安装了 firewalld 和 firewall-config。
- 如果没有,你可以使用以下命令进行安装:
- sudo yum install firewalld firewall-config
- #2. 启动 firewalld:
- sudo systemctl start firewalld
- #3. 确保 firewalld 在系统启动时自动运行:
- sudo systemctl enable firewalld
- #4. Docker 使用了一种名为 bridge 的网络类型,你需要在防火墙中打开这种网络类型。使用以下命令:
- sudo firewall-cmd --permanent --zone=public --add-masquerade
- #5. Docker 默认使用 172.17.0.0/16 网段,你需要在防火墙中打开这个网段。使用以下命令:
- sudo firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 4 -i docker0 -j ACCEPT
- #6. 重新加载防火墙以应用新的规则:
- sudo firewall-cmd --reload
- #7. 最后,重启 Docker 以使这些更改生效:
- sudo systemctl restart docker
Centos7 不关闭防火墙 并运行Docker环境
最新推荐文章于 2024-07-06 21:04:14 发布