话说我今天正在快乐的敲代码,突然看到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 发现空间腾出来了 大功告成!

centOS系统 迁移docker镜像及数据文件到指定目录的更多相关文章

  1. BI系统打包Docker镜像及部署的技术难度和实现

    BI系统打包Docker镜像及部署的技术难度和实现 随着容器化技术盛行,Docker在前端领域也有着越来越广泛的应用:传统的前端部署方式需要我们将项目打包生成一系列的静态文件,然后上传到服务器,配置n ...

  2. Centos系统下Docker的安装

    一.检查内核版本 安装Docker,需要linux内核大于3.10 使用uname -r 来检查 二. Centos系统下Docker的安装 1. 安装需要的软件包 yum install -y yu ...

  3. winform复制文件到指定目录

    执行步骤 弹出选择对话框:var openFileDialog = new OpenFileDialog(); 设置选择内容,如所有图片:openFileDialog.Filter="图像文 ...

  4. 不借助autolt实现下载文件到指定目录

    今天尝试了下不用借助autolt完成下载文件到指定目录, 好处:在于集成回归,远程机可以绕过执行autolt程序权限问题,导致autolt程序无法调用,不能完成脚本的回归 Firefox浏览器已经成功 ...

  5. Linux解压文件到指定目录

    Linux解压文件到指定目录 tar在Linux上是常用的打包.压缩.加压缩工具,他的参数很多,折里仅仅列举常用的压缩与解压缩参数 参数:-c :create 建立压缩档案的参数:-x : 解压缩压缩 ...

  6. Git .gitignore使用 -- 过滤class文件或指定目录

    1. 进入当前的项目根目录 执行 git init touch .gitignore 2. 过滤class文件或指定目录 *.class /target/ 3. 提交 git add . 将所有文件提 ...

  7. wget镜像网站并且下载到指定目录 2012-06-20 19:40:56

    wget镜像网站并且下载到指定目录 2012-06-20 19:40:56 分类: Python/Ruby wget -r -p -np -k -P /tmp/ap http://www.exampl ...

  8. 解压.zip,.tar.gz文件到指定目录,重命名文件

    1.解压文件到指定目录 /** * 解压文件到指定目录 * zipFile:要解压的文件 * descDir:解压到哪个文件 * */ @SuppressWarnings("rawtypes ...

  9. PHP下载远程文件到指定目录

    PHP用curl可以轻松实现下载远程文件到指定目录: <?php class Download { public static function get($url, $file) { retur ...

  10. 使用Dockerfile文件构建基于centOS系统的tomcat镜像

    以下是Dockerfile的内容: #基础镜像 FROM centos #维护人员信息 MAINTAINER weigs "weigs1231@gmail.com" #设置工作目录 ...

随机推荐

  1. Linux 下运行.NET 6 7 8 程序遇到的两个问题

    一. /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found 的解决办法 1. 下载 libstdc++.so.6.0.21 文件 注意区分 ...

  2. 【数据库】E-R图向关系模型转换的规则

    E-R图向关系模型转换的规则: (1) 一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的码(关键字)就是关系的码. (2) 一个 1:1 联系可以转换为一个独立的关系模式,也可以与任意一 ...

  3. 12、SpringBoot-mybatis-plus-ehcache

    系列导航 springBoot项目打jar包 1.springboot工程新建(单模块) 2.springboot创建多模块工程 3.springboot连接数据库 4.SpringBoot连接数据库 ...

  4. C#读取FX5U线圈(modbusTCP)

    第一步:导入所需的类库 第二步:包含命名空间 第三步:实例化modbus类 ModbusTcpNet busTcpClient = null; busTcpClient = new ModbusTcp ...

  5. vue后台管理系统,接口环境配置

    https://coding.imooc.com/lesson/397.html#mid=31487

  6. docker 原理之 namespace (上)

    1. namespace 资源隔离 namespace 是内核实现的一种资源隔离技术,docker 使用 namespace 实现了资源隔离. Liunx 内核提供 6 种 namespace 隔离的 ...

  7. CentOS下PHP7安装mysqlnd模块

    单独安装mysqlnd驱动 如果是centos下的yum安装方式,那么可以参考后续操作. 因为mysqlnd是mysql原生的驱动,如果已经安装了php-mysql,则需要先卸载,否则会遇到冲突. 先 ...

  8. 【C++】模板

    模板 模板是一种参数化的多态性工具 参数化多态性是指将程序所处理的对象的类型参数化,是一段程序代码可以用于处理多种不同类型的对象 模板是一种使用无类型参数来产生一族函数或类的机制 参数化是指模板不以数 ...

  9. c#下使用WM_COPYDATA

    [DllImport("User32.dll")] public static extern int SendMessage(IntPtr hwnd, int msg, int w ...

  10. 一种基于Unix Domain和TCP连接的跨设备多进程间通信的方法

    ​ 前言: 在linux系统进程间通信的方式有消息,消息队列,管道,内存映射,套接字等多种方式. 在Android系统上进行进程间通信主要是使用Binder,其它的还有共享内存,管道,RPC和Unix ...