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

通过Snap安装的Docker运行容器频繁无故自动停止问题排查求助

问题根因定位

从提供的日志可以直接确认,容器无故停止的直接原因是Docker daemon进程(dockerd)意外崩溃自动重启,关联的两个核心诱因如下:

  1. 存储驱动兼容性问题:当前使用的AUFS存储驱动在5.4内核的Ubuntu 18.04 + Snap版Docker 19.03组合下存在已知稳定性缺陷,dmesg日志中的aufs aufs_fill_super:918:mount[18200]: no arg报错直接对应AUFS挂载失败,触发daemon异常。
  2. Snap服务的资源管控限制:Snap版Docker默认的cgroup资源配额、沙箱隔离限制会在容器负载较高时强制杀掉dockerd进程,日志中的Force shutdown daemon就是被snap管控机制强制终止的直接证据。

修复方案

方案1:替换存储驱动为Overlay2(推荐,无需更换安装源)

  • 停止所有运行中的容器,停止Docker服务:
sudo snap stop docker
  • 备份现有Docker数据目录:
sudo cp -r /var/snap/docker/common/var-lib-docker /var/snap/docker/common/var-lib-docker.bak
  • 修改daemon.json配置,替换存储驱动为overlay2:
sudo vi /var/snap/docker/current/config/daemon.json

修改后配置如下:

{
  "log-level": "error",
  "storage-driver": "overlay2",
  "bip": "172.28.0.1/24"
}
  • 重启Docker服务,验证存储驱动生效:
sudo snap start docker
docker info | grep "Storage Driver"

方案2:更换为官方源安装的Docker(彻底解决Snap版本的隔离限制问题)

如果方案1执行后仍存在崩溃问题,直接卸载Snap版Docker,改用Docker官方APT源安装的标准版本即可,Snap版本的Docker本身不推荐用于生产环境。

临时验证手段

修复后可通过snap logs -f docker实时监控daemon日志,同时配置容器的重启策略为always避免daemon重启后容器不自动恢复:

docker run -d --restart=always [你的镜像参数]
# 现有容器更新重启策略
docker update --restart=always [容器ID/名称]

内容的提问来源于stack exchange,提问作者Manoj Govindan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 15:39:03