Docker 镜像存储目录的位置修改教程

以下是在 Linux 系统中修改 Docker 镜像存储目录位置的一般步骤:

  1. 查看当前 Docker 的默认存储目录:使用docker info命令可以查看 Docker 存储驱动程序和默认存储位置,其中docker root dir对应的就是默认存储目录。

  2. 停止 Docker 服务:使用sudo systemctl stop docker.service命令停止 Docker 服务。

  3. 进行目录迁移:

    • 创建新的 Docker 目录,选择一个空间较大的磁盘位置。例如,可以在/mnt目录下创建/mnt/docker目录,使用命令sudo mkdir -p /mnt/docker
    • 将原来/var/lib/docker目录下的文件迁移到新目录。使用命令sudo cp -r /var/lib/docker/* /mnt/docker/
  4. 修改配置文件:

    • 编辑/etc/docker/daemon.json文件(如果该文件不存在,则新建一个),添加如下内容:
    json 复制代码
    {
      "data-root": "/mnt/docker"
    }

    上述示例中,/mnt/docker是新的存储目录路径,你可以根据实际情况进行修改。如果涉及默认源的设定,且已设定了国内源,那么可在源地址下方添加一行,类似如下形式:

    json 复制代码
    {
      "registry-mirrors": ("http://hub-mirror.c.163.com"),
      "data-root": "/mnt/docker"
    }
    • 此外,还需编辑 Docker 配置文件。在/etc/systemd/system/multi-user.target.wants/docker.service中,将execstart=/usr/bin/dockerd -h fd:// --containerd=/run/containerd/containerd.sock修改为execstart=/usr/bin/dockerd --graph=/mnt/docker --storage-driver=overlay
  5. 保存退出后,重启 Docker 服务:依次执行sudo systemctl daemon-reloadsudo systemctl restart dockersudo systemctl status docker命令。

  6. 检查 Docker 存储路径是否配置成功:再次使用docker info命令查看,如果显示的 Docker 根目录为新设置的目录,则表示修改成功。

  7. 确认之前的镜像是否还在:使用docker ps -adocker images命令检查。

  8. 在确定容器和镜像没问题后,可以删除原来/var/lib/docker/目录中的文件,使用命令rm -rf /var/lib/docker/*

不同的 Linux 发行版和 Docker 版本可能会有一些细微差别,上述步骤可能需要根据实际情况进行调整。另外,在修改 Docker 存储目录位置时,务必谨慎操作,确保数据的安全和完整性。

对于 Windows 系统,Docker Desktop 的镜像存储位置修改方法可能会有所不同。例如在 Windows 10 中通过 WSL2 修改的一种方式是:首先关闭 Docker 桌面并退出 Docker 桌面,然后打开命令提示符,使用wsl --list -v命令确保相关状态已停止。接着,按照一定步骤进行导出、注销、导入等操作来修改镜像文件的存储位置。

如果你使用的是其他操作系统或 Docker 环境,请参考相应的文档或社区资源来获取适合的修改方法。同时,建议在进行任何重要的系统配置更改之前,先备份重要的数据,以防万一出现问题可以进行恢复。

相关推荐
极客先躯1 小时前
高级java每日一道面试题-2026年02月09日-实战篇[Docker]-Docker 容器有哪些安全风险?如何缓解?
java·运维·网络·安全·docker·容器
yuanzhengme1 小时前
Ollama【部署 07】搭建本地智能体的简单说明(局域网离线部署Ollama+模型迁移+Docker部署AnythingLLM)
运维·docker·容器·大模型·ollama·本地智能体
想要成为计算机高手1 小时前
用meta quest 3 遥操宇树机器人-xr_teleoperate 复现(含docker安装与配置方式)
人工智能·docker·机器人·xr·g1·具身智能
FPGA小徐2 小时前
一文说清FPGA如何实现高速数字信号处理
eureka
“码”力全开2 小时前
云边端协同架构:基于 Docker 与边缘计算的 GB28181/RTSP 异构视频 AI 管理平台设计(附源码交付)
人工智能·docker·架构
IVEN_2 小时前
本地正常,Docker 怎么就空白:Next.js SSR 的 Alpine musl DNS 陷阱
前端·docker·next.js
椰椰椰耶3 小时前
[SpringCloud][13]OpenFeign快速上手
后端·spring·spring cloud
是一个Bug3 小时前
AI Agent 的沙箱是什么?它和 Docker / 虚拟机有什么区别?
人工智能·docker·容器
从入门到放弃-咖啡豆4 小时前
记录一次docker部署过程和一些常用的docker指令
运维·docker·容器
“码”力全开4 小时前
解耦异构算力:基于 Docker 与边缘计算的 GB28181/RTSP 企业级 AI 视频管理平台架构设计(含源码交付)
人工智能·docker·边缘计算