Docker 存储目录的平滑迁移

docker 目录的迁移

迁移准备

常用运维指令

查看磁盘占用情况:df -h
查看docker自身的内存占用:docker system df
清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像):docker system prune
彻底清理:docker system prune -a (这命令会把你暂时关闭的容器,以及暂时没有用到的Docker镜像都删掉了…所以使用之前一定要想清楚.)

迁移

停止docker服务

systemctl stop docker

创建新的目录或磁盘

目录相关指令

查询磁盘空间占用

df -h 

创建目录

mkdir \ 

磁盘相关指令

fdisk /dev/xxxx

根据提示,依次输入"n","p" "1",两次回车,"wq",分区就开始了,很快就会完成。

• 输入n添加新分区
• 输入p新建主分区
• 指定分区编号,输入1即可
• 指定起始扇区,默认即可,不推荐更改
• 指定结束扇区,代表分区大小,可以使用K,M,G指定分区大小,例如分配50G则输入50G即可

删除磁盘分区

parted -s  /dev/sd<盘符> rm 3         
parted -s  /dev/sd<盘符> rm 4

// 3,4 代表第几个分区这里注意不要删除/根分区或BIOS分区,  一块磁盘情况下1,2一般有根/分区,

格式化硬盘

mkfs.ext4 /dev/xxx

建立挂载目录

mkdir /data

挂载硬盘

mount /dev/sdb /data

卸载磁盘

mount /dev/sdb

从旧目录迁移到新目录

(rsync是linux文件夹同步的命令,参数要加一个-r,因为文件夹要递归copy,如果在同一台服务器上面,直接cp也是可以的)

rsync -r -avz <旧目录> <新目录>
rsync -r -avz /var/lib/docker /home/docker/

配置docker文件

注意配置文件的目录

旧版本docker:
/etc/systemd/system/docker.service.d/devicemapper.conf

新版本docker: /usr/lib/systemd/system/docker.service

需要对此文件夹下的配置进行追加,根据docker版本的不同,可能会出现以下两种情况的配置,按照实际情况,追加--graph 参数即可

案例1
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

案例1需要追加 --graph <自己的目录名>
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --graph /home/new_dir

案例2
ExecStart=/usr/bin/dockerd-current

案例2也是一样
ExecStart=/usr/bin/dockerd-current --graph /home/new_dir

案例3
以上2中方式都不生效的情况下
vi /etc/docker/daemon.json

新增之后,重启docker
{"data-root":"/home/docker-images"}

systemctl daemon-reload
systemctl restart docker

重新加载docker

systemctl daemon-reload
systemctl restart docker
systemctl enable docker

检查docker配置是否正确修改

    ...
    Docker Root Dir: /home/xxxx  #你需要关注的地方
    Debug Mode (client): false
    Debug Mode (server): false
    Registry: https://index.docker.io/v1/

检查docker image是否还在

docker images

确定没问题之后,删除原来的镜像仓库

迁移完成

若文章对你有帮助,可以点赞或打赏支持我们。发布者:AaronYang会员,转载请注明出处:http://61.174.243.28:13541/AY-knowledg-hub/docker-%e5%ad%98%e5%82%a8%e7%9b%ae%e5%bd%95%e7%9a%84%e5%b9%b3%e6%bb%91%e8%bf%81%e7%a7%bb/

(5)
AaronYang的头像AaronYang会员认证作者
上一篇 2021年 11月 4日 下午4:54
下一篇 2021年 11月 17日 下午4:38

相关推荐

  • disown

    文章目录disown概要主要用途选项参数返回值例子注意参考链接 disown 从当前的shell中移除作业。 概要 disown [-h] [-ar] [jobspec … |…

    入门教程 2023年 12月 7日
  • as

    文章目录as补充说明语法选项参数 as 汇编语言编译器 补充说明 as命令 GNU组织推出的一款汇编语言编译器,它支持多种不同类型的处理器。 语法 as(选项)(参数) 选项 -a…

    入门教程 2023年 12月 6日
  • mkfs

    文章目录mkfs补充说明语法选项参数实例 mkfs 用于在设备上创建Linux文件系统 补充说明 mkfs命令 用于在设备上(通常为硬盘)创建Linux文件系统。mkfs本身并不执…

    入门教程 2024年 1月 3日
  • mkbootdisk

    文章目录mkbootdisk补充说明语法选项参数实例 mkbootdisk 可建立目前系统的启动盘 补充说明 mkbootdisk命令 用来为当前运行的系统创建能够单独使用的系统引…

    入门教程 2024年 1月 3日
  • 创建第一款iPhone应用程序

    现在让我们来创建一个在iOS模拟器上运行的简单视图应用(空白的应用程序)。 操作步骤如下: 1、打开Xcode并选择创建一个新的Xcode项目。 然后选择单一视图应用程序 接下来输…

    2023年 4月 10日
  • HTML CSS

    文章目录如何使用CSS内联样式HTML样式实例 – 背景颜色实例HTML 样式实例 – 字体, 字体颜色 ,字体大小实例HTML 样式实例 – …

    2023年 4月 13日
  • ssh-add

    文章目录ssh-add补充说明语法选项实例 ssh-add 把专用密钥添加到ssh-agent的高速缓存中 补充说明 ssh-add命令 是把专用密钥添加到ssh-agent的高速…

    入门教程 2024年 3月 11日
  • arpwatch

    文章目录arpwatch补充说明语法选项 arpwatch 监听网络上ARP的记录 补充说明 arpwatch命令 用来监听网络上arp的记录。 语法 arpwatch(选项) 选…

    入门教程 2023年 12月 6日
  • iOS操作(action)和输出口(Outlet)

    简介 在iOS中,操作(action)和输出口(Outlet)指的是ibActions和ibOutlets,也就是ib接口生成器所在的地方。这些都和UI元素相关,我们将直观的了解他…

    2023年 3月 30日
  • 环境设置

    如果您想要设置 C++ 语言环境,您需要确保电脑上有以下两款可用的软件,文本编辑器和 C++ 编译器。 文章目录文本编辑器C++ 编译器安装 GNU 的 C/C++ 编译器UNIX…

    2024年 3月 18日

发表回复

登录后才能评论
Translate »