如何在 CentOS 上修改 Docker 默认存储位置

Docker 的默认存储位置通常是在 /var/lib/docker 目录。对于一些特定的项目需求或系统空间限制,可能需要修改这个存储位置。本文将指导你如何在 CentOS 系统上完成这一操作。

流程概述

以下是整个流程的简要步骤:

步骤 操作 备注
1 停止 Docker 服务 以安全方式进行文件操作
2 创建新的存储目录 指定新的 Docker 存储位置
3 复制现有的 Docker 数据 以保留之前的 Docker 数据
4 修改 Docker 配置文件 更新 Docker 存储位置
5 启动 Docker 服务 检查配置是否生效

详细步骤

步骤 1: 停止 Docker 服务

在修改 Docker 存储位置之前,需要确保 Docker 服务已经停止。可以使用以下命令:

sudo systemctl stop docker
# 停止 Docker 服务

步骤 2: 创建新的存储目录

创建一个新的存储目录。比如,我们将其更改为 /mnt/docker。使用以下命令:

sudo mkdir -p /mnt/docker
# 创建新的存储目录

步骤 3: 复制现有的 Docker 数据

为了保持已有的数据,你可以将当前的 Docker 数据复制到新的存储目录。使用如下命令:

sudo rsync -aP /var/lib/docker/ /mnt/docker/
# 将现有的 Docker 数据复制到新的目录

步骤 4: 修改 Docker 配置文件

接下来,我们需要修改 Docker 的配置文件以指向新的存储位置。在 CentOS 上,Docker 的配置文件通常为 /etc/docker/daemon.json。如果该文件不存在,可以创建一个新的文件,使用以下命令:

sudo vi /etc/docker/daemon.json
# 打开或创建 Docker 配置文件

文件内容示例如下:

{
  "data-root": "/mnt/docker"
}
# 指定新的 Docker 数据存储位置

在编辑器中输入上述 JSON,然后保存并退出。

步骤 5: 启动 Docker 服务

完成所有步骤后,你可以重新启动 Docker 服务:

sudo systemctl start docker
# 启动 Docker 服务

通过以下命令检查 Docker 是否正确运行:

sudo systemctl status docker
# 查看 Docker 服务状态

结尾

至此,你已经成功修改了 Docker 的默认存储位置!确保通过 Docker 命令验证数据是否正常工作。新的存储位置不仅可以提供更大的空间限制,还可以优化你的系统性能。

journey
    title Docker 存储位置修改流程
    section 停止 Docker 服务
      停止 Docker 服务: 5: 用户
    section 创建新存储目录
      创建新的存储目录: 5: 用户
    section 复制现有数据
      复制现有 Docker 数据: 5: 用户
    section 修改配置
      修改 Docker 配置文件: 5: 用户
    section 启动 Docker 服务
      启动 Docker 服务: 5: 用户
pie
    title 操作步骤占比
    "停止 Docker 服务": 20
    "创建新存储目录": 20
    "复制现有数据": 20
    "修改配置": 20
    "启动 Docker 服务": 20

希望这篇文章能帮助你成功地修改 Docker 的存储位置,如有疑问,请随时咨询社区或相关文档。祝你编程愉快!