win10使用WSL 2运行Docker Desktop,运行文件从C盘迁移到其他目录

本文介绍了如何在Windows上更改Docker的安装位置,包括在安装前的设置和已安装后的卸载重装步骤。同时,针对Win10用户,讲解了利用WSL2迁移Docker Desktop的运行文件到其他目录的方法。此外,还提供了阿里云Docker镜像加速器的配置教程,以提升Docker的使用效率。

更改Docker安装位置(在安装Docker之前进行,若已安装则需卸载并运行该命令):

【已解决】21新版windows docker安装/镜像目录修改_Sp4rkW的博客-优快云博客

更改镜像安装位置:win10使用WSL 2运行Docker Desktop,运行文件从C盘迁移到其他目录 - xhznl - 博客园

Docker for Windows添加镜像网址,以阿里云为例:

在系统右下角托盘图标内右键菜单选择 Settings,在Docker Engine编辑窗口内的JSON串,填写下方加速器地址:

"registry-mirrors": ["https://5le0zviy.mirror.aliyuncs.com"]

<think>根据用户需求,用户希望将Docker软件从C迁移到D。结合引用[1]和引用[2]的信息,主要方法是通过创建符号链接(mklink)将CDocker相关目录映射到D。同时引用[2]特别强调不要通过Docker设置修改位置,而是使用wsl命令迁移。 步骤总结如下: 1. 停止DockerWSL相关服务 2. 备份数据(重要) 3. 在D创建目标文件夹结构 4. 迁移现有数据(如果已安装) 5. 删除原C目录迁移后) 6. 创建符号链接 7. 重启Docker 具体步骤: 1. **停止相关服务**: - 退出Docker Desktop - 在PowerShell(管理员)执行:`wsl --shutdown` 2. **备份数据**:复制整个`C:\Users\<用户名>\AppData\Local\Docker`目录到安全位置。 3. **在D创建文件夹**(示例路径为`D:\Docker`): ``` D:\Docker ├─Local │ ├─Docker │ └─wsl ├─Roaming │ └─Docker └─Docker # 用于映射C:\Program Files\Docker ``` 4. **迁移现有数据**(若已安装): - 将`C:\Program Files\Docker`内容复制到`D:\Docker\Docker` - 将`C:\Users\<用户名>\AppData\Local\Docker`复制到`D:\Docker\Local\Docker` - 将`C:\Users\<用户名>\AppData\Local\wsl`复制到`D:\Docker\Local\wsl` - 将`C:\Users\<用户名>\AppData\Roaming\Docker`复制到`D:\Docker\Roaming\Docker` 5. **删除原目录**(确保数据复制无误后): 手动删除上述C的四个文件夹。 6. **创建符号链接**(管理员权限打开cmd): ```cmd mklink /J "C:\Program Files\Docker" "D:\Docker\Docker" mklink /J "C:\Users\<用户名>\AppData\Local\Docker" "D:\Docker\Local\Docker" mklink /J "C:\Users\<用户名>\AppData\Local\wsl" "D:\Docker\Local\wsl" mklink /J "C:\Users\<用户名>\AppData\Roaming\Docker" "D:\Docker\Roaming\Docker" ``` 7. **重启电脑并启动Docker**。 注意事项: - 符号链接创建后,所有读写操作实际发生在D - 若迁移Docker无法启动,检查wsl状态:`wsl -l -v` - 引用[2]提到镜像存储在wsl目录,需确保`wsl`目录迁移完整[^2] 相关问题: 1. 如何验证Docker迁移后是否正常工作? 2. 迁移后如何清理C残留文件? 3. 除了符号链接,还有其他迁移Docker的方法吗? </think>### 将Docker从C迁移到D的完整步骤 #### 核心原理 通过**符号链接(mklink)** 将CDocker目录映射到D,实现存储空间的转移。关键操作包括: 1. 创建D目录结构 2. 迁移现有数据 3. 删除原C目录 4. 建立符号链接 #### 详细步骤(Windows系统) 1. **停止Docker服务**: - 退出Docker Desktop - 管理员权限打开PowerShell运行: ```powershell wsl --shutdown ``` 2. **创建D目录结构**: ```bash D:\Docker ├─Docker # 映射 C:\Program Files\Docker ├─Local │ ├─Docker # 映射 C:\Users\<用户名>\AppData\Local\Docker │ └─wsl # 映射 C:\Users\<用户名>\AppData\Local\wsl └─Roaming └─Docker # 映射 C:\Users\<用户名>\AppData\Roaming\Docker ``` 3. **迁移现有数据**(若已安装): - 复制 `C:\Program Files\Docker` → `D:\Docker\Docker` - 复制 `C:\Users\<用户名>\AppData\Local\Docker` → `D:\Docker\Local\Docker` - 复制 `C:\Users\<用户名>\AppData\Local\wsl` → `D:\Docker\Local\wsl`(包含镜像和容器数据[^2]) - 复制 `C:\Users\<用户名>\AppData\Roaming\Docker` → `D:\Docker\Roaming\Docker` 4. **删除原C目录**(确保数据复制无误后): - 手动删除上述4个C目录 5. **创建符号链接**(管理员权限运行CMD): ```cmd mklink /J "C:\Program Files\Docker" "D:\Docker\Docker" mklink /J "C:\Users\<用户名>\AppData\Local\Docker" "D:\Docker\Local\Docker" mklink /J "C:\Users\<用户名>\AppData\Local\wsl" "D:\Docker\Local\wsl" mklink /J "C:\Users\<用户名>\AppData\Roaming\Docker" "D:\Docker\Roaming\Docker" ``` 6. **重启服务**: - 重新启动Docker Desktop - 检查存储位置:运行 `docker info` 查看 `Docker Root Dir` #### ⚠️ 重要注意事项 1. **必须通过符号链接迁移**:直接在Docker设置中修改路径可能导致WSL子系统崩溃[^2] 2. **用户名替换**:上述命令中的 `<用户名>` 需替换为实际用户名(如Administrator) 3. **权限要求**:所有操作需在**管理员权限**下执行 4. **数据安全**:建议操作前备份 `wsl` 目录(包含所有镜像和容器数据) #### 验证迁移成功 1. 在D查看文件更新日期是否变化 2. 运行测试容器: ```bash docker run hello-world ``` 3. 检查C目录属性:应显示为"链接"而非普通文件夹 --- ### 相关问题 1. 迁移Docker无法启动该如何排查? 2. 如何将WSL子系统整体迁移到其他磁? 3. 符号链接(mklink)和快捷方式有什么区别? 4. 除了Docker,哪些Windows软件需要通过符号链接迁移
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值