Ubuntu 20.04 安装docker-compose及apt升级后Docker容器丢失排查求助
故障排查步骤
- 第一步先核对Docker当前存储根目录:执行
docker info | grep "Root Dir",确认输出路径是否为你默认使用的/var/lib/docker。若路径发生变化,说明Docker配置被重置,原容器数据仍存在于旧的存储路径下,只需修改daemon配置指向旧路径即可恢复。 - 检查Docker daemon配置:查看
/etc/docker/daemon.json文件,确认是否存在data-root自定义路径配置,升级过程中如果配置文件被包管理器覆盖,会导致Docker加载默认路径,无法识别原有容器数据。 - 核查apt操作日志:执行
cat /var/log/apt/history.log | grep -i docker,确认apt upgrade和安装docker-compose过程中,是否有Docker相关包被卸载、重装的记录。apt install docker-compose默认会安装Ubuntu源自带的docker.io作为依赖,如果此前你安装的是Docker官方源的docker-ce,二者会产生冲突,导致Docker服务被重置。 - 排查磁盘挂载异常:执行
df -h检查/var/lib/docker所在的磁盘分区是否正常挂载,若虚拟机启动时分区挂载失败,Docker会在原路径自动创建空目录加载,也会出现容器列表为空的情况。 - 查看Docker服务日志:执行
journalctl -u docker.service --since 72h,排查近3天的服务日志,确认是否有存储驱动加载失败、数据目录损坏类的报错。
规避方案
如果后续需要安装docker-compose,优先使用Docker官方源的安装方式,避免apt自动安装依赖的docker.io包触发冲突:
- 提前添加Docker官方apt源
- 安装时指定安装
docker-ce+docker-compose-plugin组合,而非Ubuntu源的docker-compose包 - 执行
apt upgrade前先执行apt list --upgradable | grep -i docker确认Docker相关包不会被意外替换
内容的提问来源于stack exchange,提问作者jsteinm1
相关产品推荐
相关产品推荐

