docker修改并迁移存储至数据盘

文章目录

  • 前言
  • 一、操作步骤(需要root权限)
    • [1. 查看磁盘占用,查看当前docker目录占用的空间](#1. 查看磁盘占用,查看当前docker目录占用的空间)
    • [2. 查看正在运行的容器,并停止容器及服务](#2. 查看正在运行的容器,并停止容器及服务)
    • [3. 拷贝数据、修改配置(关键步骤)](#3. 拷贝数据、修改配置(关键步骤))
    • [4. 加载配置,启动服务及容器](#4. 加载配置,启动服务及容器)
  • 二、注意事项

前言

在Linux下,docker默认的存储目录为/var/lib/docker,可能导致系统盘空间爆满,需要修改docker的存储路径。


一、操作步骤(需要root权限)

1. 查看磁盘占用,查看当前docker目录占用的空间

① 磁盘占用命检查系统盘空间

bash 复制代码
[root@ISMP ~]# df -h

② 检查docker占用的空间

bash 复制代码
[root@ISMP ~]# cd /var/lib/docker
[root@ISMP ~]# du -h --max-depth=1

2. 查看正在运行的容器,并停止容器及服务

bash 复制代码
[root@ISMP ~]# docker ps -a
[root@ISMP ~]# docker stop xxx xxx xxx
[root@ISMP ~]# systemctl stop docker

3. 拷贝数据、修改配置(关键步骤)

① 拷贝数据,这里我把数据拷贝到数据盘的目录里面了

bash 复制代码
[root@ISMP ~]#  cp -ar /var/lib/docker /myData

② 修改daemon.json配置。新增graph行,

bash 复制代码
[root@ISMP ~]#  vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://qdx396bo.mirror.aliyuncs.com"],
  "graph":"/myData/docker"
}

4. 加载配置,启动服务及容器

docker info 可以用来检查配置是否生效,

bash 复制代码
[root@ISMP ~]#  systemctl daemon-reload
[root@ISMP ~]#  systemctl restart docker
[root@ISMP ~]#  docker info | grep Root
Docker Root Dir: /myData/docker
[root@ISMP ~]#  docker start xxx xxx xxx
[root@ISMP ~]#  docker ps -a # 检查业务

二、注意事项

  1. 拷贝数据时,一定要拷贝权限关系,直接cp -r可能导致部分容器无法启动,显示权限不足等。
bash 复制代码
[root@ISMP ~]#  cp -ar  /var/lib/docker /target/path
相关推荐
RisunJan15 分钟前
Linux命令-lnstat(快速查找文件和目录)
linux·运维·服务器
lihui_cbdd40 分钟前
Slurm 集群内存管理与限制配置
运维·服务器
历程里程碑42 分钟前
Linux 17 程序地址空间
linux·运维·服务器·开发语言·数据结构·笔记·排序算法
Wpa.wk1 小时前
容器编排 - K8s - 配置文件参数说明和基础命令
经验分享·测试工具·docker·云原生·容器·kubernetes
H Journey1 小时前
Linux 下添加用户相关
linux·运维·服务器·添加用户
零基础的修炼2 小时前
Linux网络---网络层
运维·服务器·网络
Trouvaille ~2 小时前
【Linux】线程同步与互斥(三):生产者消费者模型实战
linux·运维·c++·信号量·阻塞队列·生产者消费者模型·环形队列
遇见火星2 小时前
Linux Screen 命令入门指南
linux·运维·服务器
Doro再努力2 小时前
【Linux操作系统06】深入理解权限掩码与粘滞位
linux·运维·服务器
mzhan0173 小时前
[Linux] vdso 32bit vs 64bit
linux·运维·服务器