Docker磁盘满问题处理记录

Docker磁盘满问题处理记录

June 10, 2025

问题现象

root@ly-X555LJ:~# df -hT
Filesystem                Type      Size  Used Avail Use% Mounted on
tmpfs                     tmpfs     1.2G  116M  1.1G  10% /run
/dev/mapper/vgubuntu-root ext4      108G  108G     0 100% /
tmpfs                     tmpfs     5.8G     0  5.8G   0% /dev/shm
tmpfs                     tmpfs     5.0M  4.0K  5.0M   1% /run/lock
efivarfs                  efivarfs  128K  100K   24K  81% /sys/firmware/efi/efivars
/dev/sda1                 vfat      511M  6.1M  505M   2% /boot/efi
/dev/sdb1                 ext4      469G  3.0G  442G   1% /mnt/immich_data
overlay                   overlay   108G  108G     0 100% /var/lib/docker/overlay2/71546bd7e0a723da9bf5426723aadad6fc6e7037c66a7547b377cd70c92c7517/merged
overlay                   overlay   108G  108G     0 100% /var/lib/docker/overlay2/46d57da0c18df47986cbc4dea6d86c08b970450168e8a7cc571d3e0d2b61d132/merged
overlay                   overlay   108G  108G     0 100% /var/lib/docker/overlay2/e01c56d8e2e030c0424a5467ac3d3831bc5119d13b2ef3a0402c37674df171bc/merged
overlay                   overlay   108G  108G     0 100% /var/lib/docker/overlay2/763b9079531253dd1e05dc544c19e09e28ad5ad0f4ccf8ed1c621214de6fed6b/merged

解决分析

磁盘已满。其余磁盘还有空余,可以使用其余磁盘

停止docker

sudo systemctl stop docker

迁移数据到空闲分区

# 备份原数据(可选)
sudo cp -rp /var/lib/docker /mnt/immich_data/docker_backup

# 迁移数据到空闲磁盘(/mnt/immich_data 有442G可用)
sudo mv /var/lib/docker /mnt/immich_data/docker

# 创建软链接
sudo ln -s /mnt/immich_data/docker /var/lib/docker

重启 Docker

sudo systemctl start docker
sudo docker ps  # 验证容器状态

另外解决方案

扩容根分区(LVM 环境下)

# 查看可用空间(VG名称:vgubuntu)
sudo vgs

# 若有空闲空间,扩展根分区(示例:+20G)
sudo lvextend -L +20G /dev/mapper/vgubuntu-root
sudo resize2fs /dev/mapper/vgubuntu-root

配置日志轮转

编辑 /etc/logrotate.conf,调整日志保留策略:

# 示例:压缩旧日志,保留7天
rotate 7
daily
compress