centos9 docker启动不起来,docker启动发生堵塞问题!
一、原因:
overlay not supported
, Unmaintained driver
, bridge filtering no longer available
有可能导致 Docker 启动缓慢、失败或运行异常,具体取决于你的系统配置和 Docker 的依赖情况。
1. overlay not supported
— 可能导致 Docker 无法启动
- 影响严重性:高
- 原因:
- Docker 默认使用 Overlay2 存储驱动(Storage Driver)来管理镜像和容器的分层文件系统。
- 如果内核不支持
overlay
或overlay2
,Docker 将无法正常挂载镜像,导致启动失败或卡住。
- 表现:
systemctl start docker
卡住或超时。journalctl -u docker.service
显示类似错误:failed to start daemon: error initializing graphdriver: driver not supported
2. bridge: filtering via arp/ip/ip6tables is no longer available by default...
— 可能导致容器网络不通
- 影响严重性:中高
- 原因:
- Docker 创建的桥接网络(如
docker0
)依赖br_netfilter
模块来实现 iptables 对容器间流量的过滤(如--icc=false
、--iptables
规则)。 - 如果未加载
br_netfilter
,Docker 仍能启动,但网络策略可能失效,出现容器无法通信、端口映射失败等问题。
- Docker 创建的桥接网络(如
- 表现:
- 容器能启动,但无法访问外部网络或容器间无法通信。
docker run -p 8080:80
映射的端口外部无法访问。
3. Unmaintained driver is detected: nft_compat
和 ip_set
— 一般不影响 Docker 启动
- 影响严重性:低
- 说明:
- 这些是 警告信息(warning),不是错误。
nft_compat
是 nftables 兼容层,ip_set
用于管理 IP 集合(如防火墙规则)。- Docker 本身不直接依赖这些驱动是否“被维护”,只要功能正常即可。
- 是否需要处理?
- 如果你使用
iptables
规则且一切正常,可以暂时忽略。 - 如果你计划迁移到
nftables
,建议更新工具链。 - 不会直接导致 Docker 启动堵塞。
- 如果你使用
总结
是的,
overlay not supported
和br_netfilter
未加载,确实可能导致 Docker 启动失败或网络异常,表现为“启动堵塞”或“卡住”。而nft_compat
和ip_set
的警告通常不影响启动。
二、解决:
# 加载关键模块
sudo modprobe overlay
sudo modprobe br_netfilter# 设置持久化
echo 'overlay' | sudo tee /etc/modules-load.d/overlay.conf
echo 'br_netfilter' | sudo tee /etc/modules-load.d/br_netfilter.conf# 设置网络参数
sudo sysctl net.bridge.bridge-nf-call-iptables=1
sudo sysctl net.ipv4.ip_forward=1
完成这些操作后,Docker 通常可以正常启动。