修改docker目录,转移docker到其它大分区

Docker data-root 参数详解与配置指南

Docker 默认将镜像、容器等数据存储在 /var/lib/docker 目录中。通过修改 data-root 参数,可以将存储路径迁移到更大容量的磁盘分区,避免系统盘空间不足。以下是具体操作步骤与注意事项:


一、核心操作步骤

  1. 停止 Docker 服务
    修改前需停止 Docker 服务以防止数据损坏:

    sudo systemctl stop docker
    sudo systemctl stop containerd  # 若存在容器运行时服务
  2. 迁移现有数据(可选)​
    若需保留原有数据,使用 rsyncmv 迁移数据到新目录:

    sudo rsync -av /var/lib/docker/ /新目录路径/docker  # 推荐方式,保留权限和时间戳
    # 或直接移动数据
    sudo mv /var/lib/docker /新目录路径/docker
  3. ​**修改配置文件 daemon.json**​
    创建或编辑 Docker 配置文件:

    sudo nano /etc/docker/daemon.json

    添加 data-root 参数指定新路径(JSON 格式需严格遵循):

    {
      "data-root": "/新目录路径/docker",
      "registry-mirrors": ["https://镜像加速地址"]  # 可选镜像加速配置
    }

    注意​:若文件已存在,仅添加 data-root 字段,避免破坏原有配置。

  4. 设置目录权限
    确保新目录权限允许 Docker 访问:

    sudo chown -R root:docker /新目录路径/docker  # 调整用户组权限
    sudo chmod -R 755 /新目录路径/docker         # 根据需求调整权限
  5. 重启服务并验证
    sudo systemctl daemon-reload    # 重载 systemd 配置
    sudo systemctl start docker     # 启动 Docker
    docker info | grep "Docker Root Dir"  # 验证是否生效

二、注意事项

  1. 兼容性与版本差异
    • Docker 17.05+ 版本使用 data-root,旧版本可能使用 graph,建议升级至新版。
    • 若同时通过 systemd 配置文件(如 override.conf)和 daemon.json 指定路径,优先以 daemon.json 为准。
  2. 存储性能与文件系统
    • 推荐使用 ext4XFS 文件系统,避免 NTFS/FAT32
    • 若新目录位于独立磁盘,建议通过 /etc/fstab 挂载确保开机自动加载。
  3. 数据备份与冲突处理
    • 操作前备份 /var/lib/docker,防止迁移失败导致数据丢失。
    • 若 Docker 启动失败,检查日志排查问题:
      journalctl -u docker.service  # 查看错误详情
  4. SELinux 安全策略(如启用)​
    sudo chcon -R -t container_var_lib_t /新目录路径/docker  # 调整 SELinux 上下文

三、替代方案对比

方法 适用场景 优点 缺点
修改 daemon.json 新安装或需长期稳定配置 官方推荐,优先级高 需手动迁移数据
符号链接(软链接) 快速迁移已有数据 操作简单,无需修改配置 依赖链接稳定性,易失效
修改 systemd 配置文件 需同时调整其他启动参数 灵活性强 配置复杂,易与其他配置冲突

四、验证与扩展配置

  1. 检查存储路径
    docker info | grep "Docker Root Dir"  # 输出应为新路径
  2. 日志管理(可选)​
    daemon.json 中添加日志限制,防止日志占满磁盘:

    {
      "log-driver": "json-file",
      "log-opts": {"max-size": "10m", "max-file": "3"}
    }

    限制单个日志文件为 10MB,最多保留 3 个文件。


通过上述步骤,可安全修改 Docker 数据存储路径。若需进一步优化,可结合磁盘挂载、定期清理策略(如 docker system prune)管理存储空间。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇