Docker Desktop

Windows 配置 😋:需要先开启 hyper-V,并重启才能使用 docker bash

迁移默认安装路径

在安装应用前执行(被链接路径应是未创建状态):创建 C:\Program Files\Docker 软件链接到 D:\Program Files\Docker

前者是软件默认安装路径,后者是自己准备的路径

1
2
3
4
mklink /j "C:\Program Files\Docker" "D:\Program Files\Docker"

mklink /j "C:\Users\ACB\AppData\Local\Docker\wsl\data" "D:\Docker\wsl\data"
mklink /j "C:\Users\ACB\AppData\Local\Docker\wsl\distro" "D:\Docker\wsl\distro"

迁移默认的镜像安装路径

↑↑↑↑ 可以直接使用上面的软链接方法 ↑↑↑↑

参考 1 | 参考 2

默认位置在 C:\Users\bzj\AppData\Local\Docker\wsl

WSL 的全称叫做:Windows Subsystem for Linux,即「适用于 Linux 的 Windows 子系统」;

Docker Desktop 通过 WSL2 启动,会自动创建 2 个子系统,分别对应 2 个 vhdx 硬盘映像文件;

  • 查询: <font style="color:rgb(51, 51, 51);">wsl --list -v</font>

docker-desktop 是存放程序的,docker-desktop-data 是存放镜像的.。

只有 docker-desktop-data 可以迁移成功

**注意:以下命令在管理员的cmd中执行**

0.停止 docker-desktop、停止 wsl

1
wsl --shutdown

1.导出 wsl 子系统镜像:

导出路径必须提前手动创建好。****

1
2
wsl --export docker-desktop D:\Docker\wsl\docker-desktop\docker-desktop.tar
wsl --export docker-desktop-data D:\Docker\wsl\docker-desktop-data\docker-desktop-data.tar

2.删除现有的 wsl 子系统:

1
2
wsl --unregister docker-desktop
wsl --unregister docker-desktop-data

3.重新创建 wsl 子系统:

1
2
3
4
5
wsl --import docker-desktop D:\Docker\wsl\docker-desktop D:\Docker\wsl\docker-desktop\docker-desktop.tar --version 2
# wsl --import docker-desktop D:\store\Docker-disk\docker-desktop D:\store\Docker-disk\docker-desktop\docker-desktop.tar --version 2

wsl --import docker-desktop-data D:\Docker\wsl\docker-desktop-data D:\Docker\wsl\docker-desktop-data\docker-desktop-data.tar --version 2
# wsl --import docker-desktop-data D:\store\Docker-disk\docker-desktop-data D:\store\Docker-disk\docker-desktop-data\docker-desktop-data.tar --version 2
4.重启 docker-desktop 即可

问题

An unexpected error was encountered while executing a WSL command. Common causes include access righ

管理员cmd 下执行:首先要确保[wsl安装](https://so.csdn.net/so/search?q=wsl%E5%AE%89%E8%A3%85&spm=1001.2101.3001.7020)正确,其次更新网络设置
1
2
3
4
wsl -l #list wsl installed
wsl --update

netsh winsock reset

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!