You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Manjaro(内核4.19)中docker.service启动失败问题求助

解决Manjaro 4.19内核下Docker启动失败的问题

我来帮你排查这个Docker启动失败的问题——在Manjaro 4.19内核上遇到这种情况,通常是内核模块缺失、网络配置不正确或者存储驱动不兼容导致的,咱们一步步来解决:

1. 检查并加载Docker必需的内核模块

Docker依赖overlay(存储驱动用)和br_netfilter(网络桥接用)两个内核模块,先确认它们是否已加载:

lsmod | grep -E 'overlay|br_netfilter'

如果没有任何输出,手动加载这两个模块:

sudo modprobe overlay
sudo modprobe br_netfilter

为了让模块在开机时自动加载,创建一个模块配置文件:

echo -e "overlay\nbr_netfilter" | sudo tee /etc/modules-load.d/docker.conf

2. 配置Docker所需的网络sysctl参数

Docker需要开启IP转发和桥接网络的iptables规则支持,先检查当前配置:

sysctl net.ipv4.ip_forward net.bridge.bridge-nf-call-iptables net.bridge.bridge-nf-call-ip6tables

如果输出的值不是1,手动设置并保存到开机配置:

sudo sysctl -w net.ipv4.ip_forward=1
sudo sysctl -w net.bridge.bridge-nf-call-iptables=1
sudo sysctl -w net.bridge.bridge-nf-call-ip6tables=1
# 保存到sysctl配置文件
echo -e "net.ipv4.ip_forward=1\nnet.bridge.bridge-nf-call-iptables=1\nnet.bridge.bridge-nf-call-ip6tables=1" | sudo tee /etc/sysctl.d/docker.conf
# 生效配置
sudo sysctl --system

3. 检查并调整Docker存储驱动

4.19内核可能对默认的overlay2存储驱动支持有问题,先确认内核是否开启了overlay文件系统:

grep CONFIG_OVERLAY_FS /boot/config-$(uname -r)

如果输出是CONFIG_OVERLAY_FS=y或CONFIG_OVERLAY_FS=m,说明支持;如果没有这个配置,或者启动还是失败,可以临时切换到vfs存储驱动(注意:vfs性能较差,仅用于排查,后续建议升级内核解决):
创建Docker守护进程配置文件(如果不存在):

sudo mkdir -p /etc/docker
echo '{
  "storage-driver": "vfs"
}' | sudo tee /etc/docker/daemon.json

4. 重置Docker的启动失败状态

因为之前多次启动失败触发了systemd的启动限制,先重置失败状态:

sudo systemctl reset-failed docker.service
sudo systemctl reset-failed docker.socket

5. 重新启动Docker并验证

现在尝试重新启动Docker服务:

sudo systemctl start docker.service

如果还是失败,直接运行dockerd查看详细启动日志,这能帮你定位更具体的错误:

sudo dockerd

比如可能是配置文件语法错误、依赖缺失等,根据日志再针对性解决。

内容的提问来源于stack exchange,提问作者Tâmer Cuba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 05:08:03