文章目录
1 下载并安装运行 Docker Desktop
1.1 下载 Docker Desktop
点击链接下载 Docker Desktop:https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe
下载后得到:
1.2 通过命令行安装 Docker Desktop
在
Docker Desktop Installer.exe
所在的目录下运行 Windows 命令提示符
在命令行中输入以下命令来进行 Docker Desktop 的安装:
start /w """Docker Desktop Installer.exe"install --installation-dir=E:\develop\Docker
注:Docker Desktop 默认安装位置为:
C:\Program Files\Docker\Docker
这里通过在 install 命令后添加
--installation-dir=<path>
参数来修改 Docker Desktop 的默认安装位置,其中
<path>
为指定的安装路径,这里我指定的安装位置为:
E:\develop\Docker
。
添加桌面快捷方式:
等待安装:
点击 Close and restart 后,电脑会进行重启
1.3 运行 Docker Desktop
重启完成后,点击桌面快捷方式:
点击 Accept
弹出以下界面说明系统上还未安装 WSL :
3 安装 WSL2
3.1 开启 适用于 Linux 的 Windows 子系统 和 虚拟机平台功能
打开设置,点击应用,然后再点击可选功能
在可选功能中点击更多 Windows 功能
查看是否已经勾选开启了 适用于 Linux 的 Windows 子系统 和 虚拟机平台 (我安装 Docker Desktop 重启后,这两个选项已经被勾选上了,如果发现没有勾选上,那么需要先勾选上重启电脑后再进行 WSL 的安装)
3.2 下载 Linux 内核更新包
点击链接下载 Linux 内核更新包:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
下载后得到:
双击运行点击 Next 后等待安装:
点击 Finish 完成安装:
3.3 将 WSL 2 设置为默认版本
打开 PowerShell,运行以下命令,将 WSL 2 设置为默认版本:
wsl --set-default-version 2
3.4 安装 Ubuntu 22.04.2 LTS
打开 Microsoft Store
搜索 Ubuntu 后,找到 Ubuntu 22.04.2 LTS,然后点击获取按钮来进行安装
3.5 设置 Linux 用户名和密码
安装完成 Ubuntu 22.04.2 LTS 后,点击打开按钮:
在控制台窗口中设置用户名和密码
注:
1、输入密码时,屏幕上不会显示任何内容。 你不会看到你正在键入的内容,这是正常的。
2、创建用户名和密码后,该帐户将是分发版的默认用户,并将在启动时自动登录。
3、此帐户将被视为 Linux 管理员,能够运行 sudo (Super User Do) 管理命令。
4 迁移 WSL2 安装位置
WSL2 默认安装在 C 盘,我们可以通过以下步骤迁移安装位置
通过以下命令列出已安装的 Linux 发行版:
wsl -l-v
可以看到已安装了 Ubuntu-22.04,其运行状态为:Stopped
如果运行状态为 Running,需先通过以下命令关闭:
wsl --shutdown
然后我们通过以下命令将 Ubuntu-22.04 导出为 tar 文件:
wsl --export Ubuntu-22.04 e:\Ubuntu-22.04.tar
注:
wsl --export <Distribution Name> <FileName>
<Distribution Name> 为目标 Linux 发行版的名称,我安装的为:Ubuntu-22.04
<FileName> 为导出的文件名,这里我导出到
e:\Ubuntu-22.04.tar
导出成功后,可以在导出的路径下看到导出的 tar 文件:
然后注销并卸载 Ubuntu-22.04
wsl --unregister Ubuntu-22.04
再次查看已安装的 Linux 发行版:
wsl -l-v
可以看到 Ubuntu-22.04 已经注销并卸载了
然后将 Ubuntu-22.04 导入到新位置:
wsl --import Ubuntu-22.04 E:\ubuntu2204 E:\Ubuntu-22.04.tar
注:wsl --import <Distribution Name> <InstallLocation> <FileName>
<Distribution Name> 为目标 Linux 发行版的名称,我安装的为:Ubuntu-22.04
<InstallLocation> 为要安装到的新位置,这里我安装到:
E:\ubuntu2204
<FileName> 为要导入的文件名,这里导入刚才导出的
e:\Ubuntu-22.04.tar
导入完成后,再次查看已安装的 Linux 发行版:
wsl -l-v
可以看到 Ubuntu-22.04 已成功导入到新的位置
最后需要更改一下默认用户:
Ubuntu2204 config --default-user lin
注:<DistributionName> config --default-user <Username>
<Distribution Name> 为目标 Linux 发行版的名称,我安装的为:Ubuntu-22.04
,命令里要写为:
Ubuntu2204
<Username> 为 WSL 发行版中存在的用户名,在设置 Linux 用户名和密码时我创建的用户为:
lin
,所以命令里的 <Username> 这里就为:
lin
以上步骤完成后,看到指定安装的新位置下有
.vhdx
文件:
说明迁移成功
5 配置 Docker Desktop
WSL2 安装完成后,进入 Docker Desktop:
可以看到已经能够使用 Docker Desktop 了
我们先进行一些设置
点击右上角的齿轮图标进入设置,完成以下操作:
还需配置一下阿里云镜像加速,可参考:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 进行配置
Docker Desktop 中原先的配置:
配置了阿里云镜像加速后Docker Desktop 中的配置:
这里的地址参照上面给出参考文档换成自己的即可
6 迁移 docker-desktop-data 和 docker-desktop 安装位置
Docker Desktop 会创建两个发行版:
docker-desktop-data
和
docker-desktop
,它们的默认位置在
C:\Users\<你电脑的用户名>\AppData\Local\Docker\wsl
,我们同样可以参考上面导入导出 Ubuntu-22.04 的过程将
docker-desktop-data
和
docker-desktop
迁移到其他位置
wsl --export docker-desktop-data e:\docker-desktop-data.tar
wsl --export docker-desktop e:\docker-desktop.tar
wsl --unregister docker-desktop-data
wsl --unregister docker-desktop
wsl --import docker-desktop-data E:\wsl\docker-desktop-data E:\docker-desktop-data.tar
wsl --import docker-desktop E:\wsl\docker-desktop E:\docker-desktop.tar
以上步骤完成后,看到指定安装的新位置下有以下
.vhdx
文件:
说明迁移成功
7 拉取 Nginx 镜像并测试运行
打开 Docker Desktop 后,在 Windows 终端(Windows Terminal)中进入 Ubuntu-22.04 :
拉取 Nginx 镜像
docker pull nginx
运行 Nginx
docker run -p80:80 -d nginx
访问 http://localhost ,能够看到以下页面说明 Nginx 运行成功
可以看到 Docker Desktop 中也有了对应的容器
8 参考文档
- https://docs.docker.com/desktop/install/windows-install/
- https://learn.microsoft.com/zh-cn/windows/wsl/install-manual#step-4—download-the-linux-kernel-update-package
- https://learn.microsoft.com/zh-cn/windows/wsl/setup/environment#set-up-your-linux-username-and-password
- https://learn.microsoft.com/zh-cn/windows/wsl/basic-commands
版权归原作者 cn_ljr 所有, 如有侵权,请联系我们删除。