centOS系统 迁移docker镜像及数据文件到指定目录

话说我今天正在快乐的敲代码,突然看到IDE报警磁盘空间不足了,du -h 查看了一下磁盘占用情况,发现是自己的docker镜像全部放/var/lib/docker目录下 这个系统磁盘给根目录只分配了50G的空间 docker的这些镜像已经用掉了48G! 而系统空间更多的/home目录完全没有用到,于是我就打算把docker镜像以及数据文件全部迁移到/home目录下。

以下是主要步骤:

注意:在执行这些操作之前,请确保备份了 Docker 中的重要数据。

  1. 停止 Docker 服务
复制代码
sudo systemctl stop docker
  1. 备份 Docker 数据

你可以使用 tar 命令将 Docker 数据目录打包备份到 /home 目录或其他地方:

复制代码
sudo tar czvf /home/docker_backup.tar.gz -C /var/lib/docker .
  1. 迁移 Docker 数据

  创建 /home/docker 目录,并将备份文件解压到该目录:

复制代码
sudo tar xzvf /home/docker_backup.tar.gz -C /home/docker
  1. 更新 Docker 配置

修改 Docker 配置文件,将 Docker 数据目录指向新的位置。

    4.1 编辑 Docker 配置文件:

复制代码
sudo vim /etc/docker/daemon.json
复制代码
 

如果文件不存在,可以创建它。

4.2 在配置文件中添加以下内容:

复制代码
{
  "data-root": "/home/docker"
}

这将告诉 Docker 使用 /home/docker 作为数据目录。

4.3 保存并关闭文件。

4.4 重新启动 Docker 服务

复制代码
 sudo systemctl start docker

4.5 验证迁移

    运行一些 Docker 命令来验证 Docker 是否正常工作,并且数据是否在新的目录中。

复制代码
docker ps -a

注意事项:

  • 迁移 Docker 数据涉及到系统配置变更,请在执行之前备份重要数据,以防发生意外情况。

  • 确保 Docker 服务已经停止,以防止数据不一致。

  • 如果你使用的是其他存储驱动(例如 overlay2),可能还需要考虑其他配置。

请根据具体情况谨慎操作,并在迁移前确保你了解 Docker 数据的组织结构和重要性。

迁移后执行一下 du -h 发现空间腾出来了 大功告成!

相关推荐
tangwangbi4 小时前
Linux 系统配置文件:/etc/profile、~/.bashrc 和 ~/.bash_profile 三者之间的区别与作用
linux·运维·bash
蜀道山老天师4 小时前
Shell Bash变量与运算符(含条件测试与流程控制)
linux·运维·bash
Mr.朱鹏5 小时前
Linux 服务器 LVM 根分区在线动态扩容
linux·服务器·数据库
mengge.cloud5 小时前
存储技术基础小白教程
linux·运维·服务器·wpf·存储
tang777896 小时前
反爬虫场景下代理IP池的动态扩容与失效IP自动清理方案实现
linux·服务器·网络·爬虫代理·住宅代理ip
新时代牛马7 小时前
Linux 系统调用与IPC 完整篇:从syscall 入口、VDSO 到pipe/shm/futex 选型
linux·运维·服务器
fpcc8 小时前
计算机原理—Linux是如何加载可执行文件到内存
linux
野熊佩骑8 小时前
Kubernetes实战系列文章(三) 之 K8S运维常用命令
linux·运维·docker·微服务·云原生·容器·kubernetes
码农客栈8 小时前
linux 设备树下的 platform 驱动编写
linux
小HANN8 小时前
Linux建站实战:CentOS7+LNMP 从零部署 ECShop 开源电商系统
linux·运维·服务器·经验分享