Ubuntu 下 Docker 启动慢(指 docker daemon 启动慢,或 容器启动慢)通常有几种常见原因。下面按场景给你梳理一下,方便对照排查。
overlay2 但后端存储慢Ubuntu 默认用 overlay2,如果:
/var/lib/docker 在 网络存储(NFS、Ceph 慢盘)都会导致 dockerd 启动和镜像加载慢。
✅ 检查:
docker info | grep -i storage
df -h /var/lib/docker
✅ 建议:
/var/lib/docker 挂到 SSD以下情况会明显变慢:
dockerd 启动时会:
✅ 解决:
docker system prune -a
(谨慎,会删未使用镜像)
Ubuntu 常见拖慢因素:
✅ 检查:
systemctl status apparmor
systemctl status auditd
✅ 可尝试(测试环境):
sudo systemctl stop apparmor
Ubuntu 20.04+ 默认 cgroup v2,某些老内核或定制内核会导致:
✅ 检查:
stat -fc %T /sys/fs/cgroup
✅ 解决(必要时):
systemd.unified_cgroup_hierarchy=0
最常见原因!
Docker 默认用 8.8.8.8,如果:
容器启动会卡 5–30 秒。
✅ 解决:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
"dns": ["223.5.5.5", "114.114.114.114"]
}
EOF
sudo systemctl restart docker
Ubuntu 基础镜像 + apt 安装很多东西 → 启动慢
✅ 建议:
ubuntu:slimdebian、alpine比如:
✅ 建议:
entrypoint 异步dockerd 启动会吃内存,如果:
会非常慢。
✅ 检查:
free -h
Ubuntu 上 docker 依赖:
如果网络服务慢,docker 会等。
✅ 查看:
systemd-analyze blame | grep docker
docker info
systemctl status docker
df -h /var/lib/docker
free -h
如果你愿意,可以告诉我:
我可以直接帮你定位到具体原因。