开发者

Docker目录迁移的详细执行步骤(按脚本流程)

目录
  • 免责声明
  • 一、前置准备
    • (一)关闭 docker 程序
    • (二)环境确认
  • 二、手动步骤(严格对齐路径)
    • 路径配置说明
  • 详细执行步骤(按脚本流程)
    • (一)步骤 1:备份 Docker 目录
      • 1. 备份 .docker 目录(用户配置)
      • 2. 备份 Docker 镜像目录(核心数据)
    • (二)步骤 2:删除原目录(释放路径)
      • 1. 删除原 .docker 目录
      • 2. 删除原 Docker 镜像目录
    • (三)步骤 3:创建目标存储目录(空目录,为链接做准备)
      • (四)步骤 4:创建符号链接(映射原路径到新目标)
        • 1. 链接 .docker 目录
        • 2. 链接 Docker 镜像目录
      • (五)步骤 5:恢复备份数据到新目标
        • 1. 恢复&nwww.devze.combsp;.docker 备份
        • 2. 恢复 Docker 镜像备份
        • (一)创建批处理文件
        • (二)运行批处理文件
        • (三)使用说明
    • 三、收尾验证
      • 四、自动化脚本
        • 五、补充说明

          免责声明

          1. 本脚本仅为 Docker 目录迁移提供技术参考,使用者需确保完全理解脚本执行逻辑及潜在风险,因操作不当导致的数据丢失、系统故障等问题,脚本作者及提供方不承担任何责任。
          2. 脚本涉及系统目录删除与符号链接创建,可能影响系统稳定性,建议先在非生产环境测试,正式使用前务必完成数据及镜像备份(脚本中的备份操作需手动确认有效性)。
          3. 使用者需自行核对脚本中的路径配置(如用户名、磁盘路径等),因路径错误导致的操作异常,由使用者自行承担后果。
          4. 脚本运行需管理员权限,若因权限问题导致的系统安全风险,与脚本作者无关。
          5. 本脚本不保证适配所有系统环境及 Docker 版本,使用者需根据实际情况调整或寻求专业技术支持,使用即视为同意自行承担全部风险。

          Docker目录迁移的详细执行步骤(按脚本流程)

          一、前置准备

          (一)关闭 Docker 程序

          1. 任务栏右下角找到 Docker 图标 → 右键 → Quit Docker Desktop,确保完全退出。
          2. 任务管理器(Ctrl + Shift + Esc)→ 结束所有 Docker 相关进程(如 Docker Desktop Service)。

          (二)环境确认

          1. 管理员身份运行 CMD(开始菜单搜 CMD → 右键以管理员身份运行)。
          2. 确认路径:
            • 备份路径:E:\Downloads\Other(需存在,不存在则手动创建文件夹)。
            • 目标路径:D:\Program(需存在,不存在则手动创建文件夹)。

          二、手动步骤(严格对齐路径)

          路径配置说明

          类型原始路径目标存储路径备份路径
          .docker目录C:\Users\love\.dockerD:\Program\.dockerE:\Downloads\Other\.docker
          镜像目录C:\Users\love\AppData\Local\DockerD:\Program\DockerE:\Downloads\Other\Docker

          详细执行步骤(按脚本流程)

          (一)步骤 1:备份 Docker 目录

          1. 备份 .docker 目录(用户配置)

          robocopy "C:\Users\love\.docker" "E:\Downloads\Other\.docker" /E
          
          • 作用:复制 C:\Users\love\.docker(用户配置)到 E:\Downloads\Other\.docker
          • 验证:检查 E:\Downloads\Other\.docker 目录,确认文件完整。

          2. 备份 Docker 镜像目录(核心数据)

          robocopy "C:\Users\love\AppData\Local\Docker" "E:\Downloads\Other\Docker" /E
          
          • 作用:复制 C:\Users\love\AppData\Local\Docker(镜像、容器数据)到 E:\Downloads\Other\Docker
          • 验证:检查 E:\Downloads\Other\Docker 目录,确认数据完整。

          (二)步骤 2:删除原目录(释放路径)

          1. 删除原 .docker 目录

          rmdir /s /q "C:\Users\love\.docker"
          
          • 参数/s 递归删除,/q 静默执行(无确认提示)。

          2. 删除原 Docker 镜像目录

          rmdir /s /q "C:\Users\love\AppData\Local\Docker"
          

          (三)步骤 3:创建目标存储目录(空目录,为链接做准备)

          mkdir "D:\Program\.docker"
          mkdir "D:\Program\Docker"
          
          • 作用:在 D:\Program 下创建与原目录同名的空文件夹,用于存储迁移后的数据。 

          (四)步骤 4:创建符号链接(映射原路径到新目标)

          1. 链接 .docker 目录

          mklink /J "C:\Users\love\.docker" "D:\Program\.docker"
          
          • 作用:让 C:\Users\love\.docker 实际指向 D:\Program\.docker(系统级目录链接)。

          2. 链接 Docker 镜像目录

          mklink /J "C:\Users\love\AppData\Local\Docker" "D:\Program\Docker"
          

          (五)步骤 5:恢复备份数据到新目标

          1. 恢复 .docker 备份

          robocopy "E:\Downloads\Other\.docker" "D:\Program\.docker" /E
          

          2. 恢复 Docker 镜像备份

          robocopy "E:\Downloads\Other\Docker" "D:\Program\Docker" /E
          

          三、收尾验证

          1. 重启电脑:确保系统加载新的符号链接配置。
          2. 启动 Docker:打开 Docker Desktop,检查是否正常加载镜像 / 容器。
          3. 数据校验
            • 运行测试容器:docker run hello-world,观察是否正常执行。
            • 检查目标路径:D:\Program\.docker 和 D:\Program\Docker,确认数据写入正常。

          四、自动化脚本

          (一)创建批处理文件

          1. 打开记事本(在开始菜单搜索 “记事本” 并打开 )。
          2. 将完整的脚本内容(如下,根据实际需求确认参数 )复制粘贴到记事本中:
          @echo off
          echo ====== Docker目录迁移自动化脚本 ======
          echo 警告:请确保js已以管理员身份运行此脚本!
          echo 注意:请先停止Docker Desktop再继续执行!
          echo 按任意键开始执行...
          pause
          
          :: 配置参数(请根据实际情况修改)
          set "USERNAME=love"
          set "SRC_DOCKER_CONFIG=C:\Users\%USERNAME%\.docker"
          set "SRC_DOCKER_DATA=C:\Users\%USERNAME%\AppData\Local\Docker"
          set "BACKUP_DIR=E:\Downloads\Other"
          set "DEST_BASE=D:\Program"
          set "DEST_DOCKER_CONFIG=%DEST_BASE%\.docker"
          set "DEST_DOCKER_DATA=%DEST_BASE%\Docker"
          
          :: 步骤1:创建备份目录(若不存在)
          echo ---------- 步骤1:准备备份目录 ----------
          if not exist "%BACKUP_DIR%" mkdir "%BACKUP_DIR%"
          echo js备份目录已准备:%BACKUP_DIR%
          
          :: 步骤2:备份原始目录
          echo ---------- 步骤2:备份原始目录 ----------
          echo 正在备份.docker配置目录...
          robocopy "%SRC_DOCKER_CONFIG%" "%BACKUP_DIR%\.docker" /E
          echo 正在备份Docker镜像数据目录...
          robocopy "%SRC_DOCKER_DATA%" "%BACKUP_DIR%\Docker" /E
          echo 备份完成!路径:%BACKUP_DIR%
          
          :: 步骤3:创建目标目录(确保目录结构正确)
          echo ---------- 步骤3:创建目标目录 ----------
          if not exist "%DEST_BASE%" mkdir "%DEST_BASE%"
          mkdir "%DEST_DOCKER_CONFIG%"
          mkdir "%DEST_DOCKER_DATA%"
          echo 目标目录已创建:%DEST_BASE%
          
          :: 步骤4:删除源目录(释放路径)
          echo ---------- 步骤4:删除源目录 ----------
          rmdir /s /q "%SRC_DOCKER_CONFIG%" 2>nul
          rmdir /s /q "%SRC_DOCKER_DATA%" 2>nul
          echo 源目录已删除(如有错误已忽略)
          
          :: 步骤5:创建符号链接
          echo ---------- 步骤5:创建符号链接 ----------
          mklink /J "%SRC_DOCKER_CONFIG%" "%DEST_DOCKER_CONFIG%"
          mklink /J "%SRC_DOCKER_DATA%" "%DEST_DOCKER_DATA%"
          echo 符号链接创建完成!
          
          :: 步骤6:恢复备份数据到新目python标
          echo ---------- 步骤6:恢复备份数据 ----------
          echo 正在恢复.docker配置...
          robocopy "%BACKUP_DIR%\.docker" "%DEST_DOCKER_CONFIG%" /E
          echo 正在恢复Docker镜像数据...
          robocop编程客栈y "%BACKUP_DIR%\Docker" "%DEST_DOCKER_DATA%" /E
          echo 数据恢复完成!
          
          echo ====== 所有操作已完成 ======
          echo 请重启电脑后再启动Docker Desktop
          echo 按任意键退出...
          pause
          
          1. 点击记事本左上角 “文件”→“另存为” 。
          2. 在 “另存为” 窗口中:
            • 选择保存位置(比如桌面 );
            • “文件名” 输入类似 docker_migrate.BAT(必须以 .bat 为后缀 );
            • “保存类型” 选 “所有文件” ,然后点击 “保存” 。

          (二)运行批处理文件

          1. 找到保存的 docker_migrate.bat 文件(比如在桌面 )。
          2. 右键点击该文件,选择 “以管理员身份运行” (必须管理员权限,否则可能因权限不足执行失败 )。
          3. 此时会弹出命令提示符窗口,按提示先停止 Docker Desktop,然后按任意键,脚本就会按流程逐步执行,后续每一步的 pause 也能正常响应,按回车继续下一步。

          (三)使用说明

          修改配置参数

          • 打开脚本,修改 USERNAME 为您的实际用户名
          • 若需更改存储路径,修改 DEST_BASE 变量
          • 修改其他符合自己配置的参数

          执行前准备

          • 停止 Docker Desktop
          • 确保备份磁盘(E 盘)有足够空间
          • 以管理员身份运行脚本

          执行后验证

          • 重启电脑
          • 启动 Docker Desktop
          • 运行 docker info 检查数据路径
          • 测试创建容器确认功能正常

          如需调整特定步骤,可直接修改对应部分的代码。

          这样就能让脚本按设计的自动化流程完整执行,解决当前按回车无法继续的问题啦,执行过程中留意命令提示符里的提示信息,若遇到报错(如路径不存在、权限不足等 ),可根据提示排查调整。

          五、补充说明

          操作涉及系统目录删除和符号链接,可能因环境差异(权限、Docker 版本等)导致数据丢失。执行前务必确认备份完整,建议先在测试环境验证。因操作不当引发的问题,本文不承担责任,请谨慎操作。

          按照这个流程,每一步严格对齐我们的路径需求,确保 .docker 和 Docker 目录独立迁移,避免混淆。如果执行中遇到报错(如权限、文件占用),可以补充具体错误信息进一步排查~

          Docker目录迁移的详细执行步骤(按脚本流程)

          Docker目录迁移的详细执行步骤(按脚本流程)

          Docker目录迁移的详细执行步骤(按脚本流程)

          Docker目录迁移的详细执行步骤(按脚本流程)

          Docker目录迁移的详细执行步骤(按脚本流程)

          Docker目录迁移的详细执行步骤(按脚本流程)

          0

          上一篇:

          下一篇:

          精彩评论

          暂无评论...
          验证码 换一张
          取 消

          最新开发

          开发排行榜