【Docker Desktop】Windows11家庭版安装docker desktop和WSl2(Ubuntu22.04)并完成迁移,配置国内镜像

奕雨. 2024-06-19 15:37:04 阅读 53

目录

一、准备工作

安装Hyper-V

②开启电脑的虚拟化技术,如何确定是否开启了虚拟化技术

③ 启动Windows功能

二、安装WSl

三、移动Ubuntu 22.04.2 LTS

四、迁移 WSL2 安装位置

五、安装Docker Desktop

六、配置Docker Desktop

 七、测试


一、准备工作

① 安装Hyper-V

因为win11家庭版本身是不支持hyper-V的,需要手动安装

pushd "%~dp0"dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txtfor /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"del hyper-v.txtDism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL

将上述代码用记事本打开复制粘贴,保存为Hyper-V.cmd,鼠标右击管理员运行,最后输入“Y”重启电脑后即可。

然后输入下述命令,设置 Windows 操作系统中的 Hyper-V 启动类型。具体来说,它会将 Hypervisor 的启动类型设置为 "auto",这意味着在系统启动时自动启动 Hyper-V。

bcdedit /set hypervisorlaunchtype auto

②开启电脑的虚拟化技术,如何确定是否开启了虚拟化技术

Ctrl + Alt +  Esc打开任务管理器---------点击性能---------看到cpu中的虚拟化项是否启用

若没用启用,如何启用?

1. 关闭电脑,然后打开它并进入 BIOS 界面。通常需要按下 DEL、F1、F2 或 F10 键来进入 BIOS 界面(具体按键可能因计算机品牌和型号而有所不同,请根据自己的电脑手册进行确认)。

2. 在 BIOS 设置界面中,切换到“高级菜单”或类似命名的选项卡,然后寻找“CPU 配置”或“芯片组配置”等相关设置。

3. 找到“虚拟化技术”,这个选项可能命名为 VT-x、AMD-V 或者 Intel Virtualization Technology 等,选择它并将其设置为“启用”。

4. 确认更改并保存 BIOS 设置。不同计算机品牌或型号可能执行此操作的方式略有不同,一般情况下可以在相应选项卡下使用“Save and Exit”或类似选项来保存修改并退出 BIOS 界面。

5. 最后重新启动计算机,使得新的BIOS设置生效。

③ 启动Windows功能

控制面板-------程序-------程序和功能---------启用或关闭Windows功能

勾选一下几个选项

1.Hyper-V,

2.Windows虚拟机监控程序平台

3.适用于Linux的Windows子系统,

4.虚拟机平台。

勾选完毕之后重启电脑。

二、安装WSl

官方文档:https://learn.microsoft.com/en-us/windows/wsl/install

管理员运行PowerShell输入

wsl --set-default-version 2

再输入 以下命令列出可下载的版本

wsl --list --online

 

再输入以下命令进行安装

wsl --install -d Ubuntu-22.04

 若遇到无法从 'https://raw.githubusercontent.com/microsoft/WSL/master/distributions/DistributionInfo.json’提取列表分发。无法解析服务器的名称或地址。

解决方法:

①修改DNS,打开网络和Internet设置,在当前的网络上打开IPV4,配置手动DNS,首选114.114.114.114,备选8.8.8.8

②修改系统的hosts文件,访问https://www.ipaddress.com这个网站(需要科学上网)中的查询框中输入:raw.githubusercontent.com,下滑看到四个ip地址

在C盘目录中搜索hosts,用记事本打开,在里面添加一行类似这样的(ipv4地址换成自己查到的就行)

185.199.108.133 raw.githubusercontent.com   #comments. put the address here

输入用户名,密码,看到以下界面则安装完成

三、移动Ubuntu 22.04.2 LTS

管理员PowerShell中输入

wsl --shutdown

 win + i键进入设置找到已安装的应用,找到Ubuntu 22.04.2 LTS

移动至D盘

四、迁移 WSL2 安装位置

管理员PowerShell输入以下命令,确保都是stop状态

wsl -l -v

然后我们通过以下命令将 Ubuntu-22.04 导出为 tar 文件:

 wsl --export Ubuntu-22.04 d:\Ubuntu-22.04.tar

注:

wsl --export <Distribution Name> <FileName>

<Distribution Name> 为目标 Linux 发行版的名称,我安装的为: Ubuntu-22.04

<FileName> 为导出的文件名,这里我导出到 D:\Ubuntu-22.04.tar

在导入目录下看到以下文件即为导出成功

然后注销并卸载 Ubuntu-22.04

wsl --unregister Ubuntu-22.04

再输入以下命令查看已安装的 Linux 发行版

wsl -l -v

可以看到 Ubuntu-22.04 已经注销并卸载了

然后将 Ubuntu-22.04 导入到新位置:

 wsl --import Ubuntu-22.04 D:\Ubuntu_WSL D:\Ubuntu-22.04.tar

注:wsl --import <Distribution Name> <InstallLocation> <FileName>

<Distribution Name> 为目标 Linux 发行版的名称,我安装的为: Ubuntu-22.04

<InstallLocation> 为要安装到的新位置,这里我安装到:D:\Ubuntu_WSL

<FileName> 为要导入的文件名,这里导入刚才导出的 D:\Ubuntu-22.04.tar

在导入目录看到以下文件即为导入成功

最后需要更改一下默认用户:

Ubuntu2204 config --default-user yiyu 

注:<DistributionName> config --default-user <Username>

<Distribution Name> 为目标 Linux 发行版的名称,我安装的为: Ubuntu-22.04,命令里要写为:Ubuntu2204

<Username> 为 WSL 发行版中存在的用户名,在设置 Linux 用户名和密码时我创建的用户为:yiyu ,所以命令里的 <Username> 这里就为:yiyu

到此迁移全部完成!

五、安装Docker Desktop

官网地址:https://www.docker.com/get-started/

① 下载适用于Windows的docker desktop

下载之后得到以下文件。

 ② 使用命令行安装docker desktop

Docker Desktop Installer.exe 所在的目录下运行 Windows 命令提示符

在命令行中输入以下命令来进行 Docker Desktop 的安装:

start /w "" "Docker Desktop Installer.exe" install --installation-dir=D:\Softwares\DeveloperTools\Docker 

注:Docker Desktop 默认安装位置为:C:\Program Files\Docker\Docker

这里通过在 install 命令后添加 --installation-dir=<path> 参数来修改 Docker Desktop 的默认安装位置,其中 <path> 为指定的安装路径,这里我指定的安装位置为:D:\Softwares\DeveloperTools\Docker 。

勾选添加快捷方式之后,等待安装

安装完成

③ 启动docker desktop

在服务中,将docker desktop的服务启动

点击docker desktop

勾选accept

进入的时候可以选中登录(需要科学上网),进入到此界面看到engine running即可

六、配置Docker Desktop

② 更换磁盘映像位置

③  选择WSL2发行版版本,设置”>“资源”>“WSL 集成”,从要启用 Docker 集成的已安装 WSL 2 发行版中进行选择

④ 配置国内镜像源

 "registry-mirrors":[

        "https://docker.mirrors.ustc.edu.cn",

        "https://registry.docker-cn.com",

        "http://hub-mirror.c.163.com",

        "https://mirror.ccs.tencentyun.com"

   ]

完成上述配置后点击Apply & restart ,依旧看到engine running就OK了

 七、测试

管理员PowerShell输入

docker run hello-world

至此,流程到此结束

如果我有不对的地方,或者您有更好的见解,欢迎在评论区指出和发表!!!



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。