由于 Windows 和 Linux 使用不同的内核和系统架构,因此以前在 Windows 操作系统上运行 Linux 应用程序需要使用虚拟机或模拟器。但是,现在有了 Windows Subsystem for Linux 2 (WSL 2),你可以在 Windows 10 上轻松地运行 Linux 应用程序,并享受接近本机速度的性能。

前提

在开始使用 Docker 之前,请确保你已经满足以下要求:

  • 安装了 Windows 10 的 64 位版本,版本号不低于 14393。
  • 下载并安装了 Docker Desktop for Windows(非 systemd 方式)。
  • WSL 支持 systemd 后,在 wsl 可以使用原生的 docker

安装 Docker

下载并安装了 Docker Desktop for Windows

国内 Docker 镜像加速

1
2
3
4
5
6
7
8
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xplewtjt.mirror.aliyuncs.com"]
}
EOF

sudo service docker restart

迁移 Docker Data 目录

  1. 在 Windows PowerShell 下执行,先关闭 WSL

    1
    wsl --shutdown
  2. 备份导出 docker data

    1
    wsl --export docker-desktop-data d:\\docker-desktop-data.tar
  3. 注销 docker-desktop-data

    1
    wsl --unregister docker-desktop-data
  4. 重新导入 docker-desktop-data 到要存放的文件夹,我这边的文件夹为:d:\docker-desktop-data

    1
    wsl --import docker-desktop-data d:\\wsl\docker-desktop-data\ d:\\docker-desktop-data.tar --version 2

wsl 重新配置 win-docker

迁移之后,会发现 Linux 子系统跟 Windows10 docker 通讯不了,

例如:当在子系统输入 docker ps 命令时,会报:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

此时需要重新需要去 Windows 10 Docker Setting 设置: