centos 中,启用了 firewalld 防火墙,docker 内的容器无法访问外网
首先记录几个对 linux 系统服务操作的命令(以下都是对防火墙服务进行操作):
# 启动服务
systemctl start firewalld
# 设置服务自启动
systemctl enable firewalld
# 取消服务自启动
systemctl disable firewalld
# 停止服务
systemctl stop firewalld
# 查看服务状态
systemctl status firewalld
# 重启服务
systemctl restart firewalld
另外如果在防火墙上配置例外端口,可以执行下面命令:
# 添加端口例外(添加时需要开启防火墙服务,添加后需要重启防火墙服务以生效)
firewall-cmd --add-port=8000/tcp --permanent
# 移除端口例外
firewall-cmd --remove-port=8000/tcp –permanent
# 配置 docker 容器内允许访问外部网络(需重启 firewalld、docker 以生效)
firewall-cmd --permanent --zone=trusted --change-interface=docker0
#检查配置
firewall-cmd --get-zone-of-interface=docker0
firewall-cmd --get-active-zones
firewall-cmd --list-all
# 验证容器内对外部的访问(检查 DNS 解析结果是否正常)
docker run --rm busybox nslookup baidu.com
还有一种是直接删除 docker0 网卡,让 docker 自动重建网络规则
# 停止 docker 服务
systemctl stop docker
# 删除 docker0 网卡
ip link delete docker0
# 重启防火墙
systemctl restart iptables
systemctl restart firewalld
# 启动 docker 服务
systemctl start docker
下面是一些 linux 中常用的网络命令记录:
# 验证网站访问
curl http://baidu.com/
# 查看 dns
nslookup baidu.com
# 查看网络信息
ifconfig
# 查看网卡
ip link
# 删除网卡
ip link delete docker0
# 查看路由表
ip route
# 查看 nat 表
iptables -t nat -L -n
# 启用 ip 转发
sysctl net.ipv4.conf.all.forwarding=1
sudo iptables -P FORWARD ACCEPT
参考:
https://www.cnblogs.com/zl1991/p/10531726.html
https://unix.stackexchange.com/questions/199966/how-to-configure-centos-7-firewalld-to-allow-docker-containers-free-access-to-th
参考:
https://docs.docker.com/network/bridge/
https://docs.docker.com/v17.09/engine/userguide/networking/default_network/custom-docker0/
https://docs.docker.com/v17.09/engine/userguide/networking/default_network/binding/
输了你,赢了世界又如何...
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!