跳到主要内容

存储驱动管理

Docker 存储驱动的管理,仅做了解。

1. 查看当前存储驱动

docker info | grep "Storage Driver"

2. 更改存储驱动

  1. 编辑 /etc/docker/daemon.json,添加或修改:
    {
    "storage-driver": "overlay2"
    }
  2. 重启 Docker:
    sudo systemctl restart docker

3. 存储驱动选择

  • overlay2:推荐用于现代 Linux 系统,性能优异。
  • aufs:适合旧版 Linux 系统。
  • devicemapper:适合 CentOS、RHEL 等旧版系统。
  • btrfs/zfs:适合需要高级功能(如快照、压缩)的场景。
  • vfs:仅用于测试环境。

4. 性能优化

  • overlay2:确保使用 ext4 或 XFS 文件系统,启用 SELinux。
  • devicemapper:使用 direct-lvm 模式,调整 dm.basesizedm.thinpooldev
  • btrfs/zfs:启用压缩功能,定期清理快照。

5. 清理与维护

  • 清理未使用的镜像和容器:
    docker system prune -a
  • 清理未使用的数据卷:
    docker volume prune

6. 监控

  • 查看磁盘使用情况:
    docker system df
  • 使用 Prometheus + Grafana 或 cAdvisor 监控存储使用。

7. 迁移存储驱动

  1. 备份数据:
    docker run --rm -v /var/lib/docker:/docker -v $(pwd):/backup busybox tar cvf /backup/docker-backup.tar /docker
  2. 停止 Docker:
    sudo systemctl stop docker
  3. 更改存储驱动配置。
  4. 恢复数据:
    docker run --rm -v /var/lib/docker:/docker -v $(pwd):/backup busybox tar xvf /backup/docker-backup.tar -C /docker
  5. 启动 Docker:
    sudo systemctl start docker

8. 常见问题

  • 磁盘空间不足:定期清理未使用的镜像、容器和数据卷。
  • 性能下降:切换到 overlay2 并优化配置。
  • 权限问题:检查 Docker 配置和文件系统权限。

9. 总结

  • 推荐使用 overlay2
  • 定期清理和维护存储驱动。
  • 监控存储使用情况,确保高效运行。

通过合理管理存储驱动,可以显著提升 Docker 的性能和稳定性。