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
相关推荐
神奇的程序员5 小时前
从已损坏的备份中拯救数据
运维·后端·前端工程化
虾..6 小时前
Linux 软硬链接和动静态库
linux·运维·服务器
Evan芙6 小时前
Linux常见的日志服务管理的常见日志服务
linux·运维·服务器
玄斎6 小时前
MySQL 单表操作通关指南:建库 / 建表 / 插入 / 增删改查
运维·服务器·数据库·学习·程序人生·mysql·oracle
trayvontang7 小时前
Nginx之location配置
运维·nginx
十六年开源服务商7 小时前
WordPress定制开发最佳公司的用户画像
运维
学Linux的语莫8 小时前
docker,docker-compose二进制包安装
docker
世岩清上8 小时前
AI驱动的智能运维:从自动化到自主化的技术演进与架构革新
运维·人工智能·自动化
张童瑶9 小时前
Linux SSH隧道代理转发及多层转发
linux·运维·ssh
石小千9 小时前
Linux安装OpenProject
linux·运维