一、Windows系统搭建Docker
1.1 启用虚拟化
任务管理器(CTRL+Shift+Esc), 选择性能,查看CPU虚拟化,确认是否已启用(默认启用)。
1.2 安装虚拟机并开启Hyper-V功能、虚拟机功能。
1.2.1 windows专业版,不需要 执行 123.cmd
1.2.2 Win10家庭版
因为Win10家庭版没有安装虚拟机,所以通过新建123.cmd安装一个Hyper-V
新建一个123.cmd文件,并将如下内容复制进去
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
然后以管理员身份运行该cmd文件
等待运行结束后根据提示重启,输入Y并重启计算机。
1.3 启用Hyper-v并开启虚拟任务
按住键盘Win+R,输入OptionalFeatures
在“Windows 功能”中勾选4项,然后点击“确定”。
“Hyper-V"
“Windows虚拟机监控程序平台”
“容器”
“适用于Linux的Windows子系统”
BIOS异常-执行后重启电脑
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
bcdedit /set hypervisorlaunchtype auto
二、安装WSL
Windows Subsystem for Linux(简称WSL)是一个在Windows 10\11上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。
2.1 安装wsl_update_x64.msi
更新最新安装方式,直接下载安装包双击安装即可,下载地址
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
2.2 管理员打开命令行,运行命令列出可安装的系统版本
wsl.exe --list --online
显示出以上信息,命令安装Ubuntu即可:(如果执行这条命令失败,需要自己买VPN,连外网)
wsl --install -d Ubuntu-22.04
需要将 WSL 2 设置为默认版本:
wsl --set-default-version 2
更新wsl
wsl --update
#如果wsl --update命令执行失败,说明电脑安装的wsl有问题,请按以下教程完成WSL/WSL2的安装,WSL2安装参考官网安装教程链接如下:
三、Docker安装
1. Docker安装包下载
下载地址:阿里云docker下载
#docker安装包下载
https://mirrors.aliyun.com/docker-toolbox/windows/docker-for-windows/stable/Docker%20Desktop%20Installer.exe
# cmd 命令安装docker到指定的目录
start /w "" "Docker Desktop Installer.exe" install --installation-dir=D:\soft\Docker
start /w "" "Docker Desktop Installer.exe" install --installation-dir=D:\Docker
2.开始安装–》默认2个都勾选–》OK
3.安装完毕后,点击中间的Close
点击后会重新打开桌面
win+R,输入cmd回车,输入docker --version 检测docker安装的版本:
docker --version
四、配置国内仓库
将下面内容复制到红框中
{
"registry-mirrors": [
"https://registry.docker-cn.com",
"https://docker.mirrors.ustc.edu.cn",
"https://dockerhub.azk8s.cn",
"https://docker.1panelproxy.com",
"https://docker-proxy.741001.xyz",
"https://registry.docker-cn.com",
"https://docker.hpcloud.cloud",
"https://docker.m.daocloud.io",
"https://docker.unsee.tech",
"https://docker.1panel.live",
"http://mirrors.ustc.edu.cn",
"https://docker.chenby.cn",
"http://mirror.azure.cn",
"https://dockerpull.org",
"https://dockerhub.icu",
"https://hub.rat.dev"
],
"insecure-registries": [],
"debug": false,
"experimental": false,
"features": {
"buildkit": true
},
"builder": {
"gc": {
"enabled": true,
"defaultKeepStorage": "20GB"
}
}
}
1 命令行测试docker
按住键盘Win+R,输入cmd
docker pull registry.cn-hangzhou.aliyuncs.com/rwit/nginx:latest
docker run --name my-nginx -d -p 81:80 registry.cn-hangzhou.aliyuncs.com/rwit/nginx:latest
docker ps
docker stop my-nginx
docker rm my-nginx
五、抖音精简
# 把wsl的默认版本换成2
wsl --set-default-version 2
# 国内网络减少下载延迟
wsl --update --web-download
# cmd 命令安装docker到指定的目录
start /w "" "Docker Desktop Installer.exe" install --installation-dir=D:\Docker
六、wsl卸载
# 查看系统
wsl --list
#显示所有wsl分发子系统
wsl.exe --list --online
#安装
wsl --install -d Ubuntu-24.04
wsl --update
#导出系统到其他磁盘
wsl --export Ubuntu-24.04 D:\ubuntu24.04.tar
#注销当前分发版本
wsl --unregister Ubuntu-24.04
#重新导入
wsl --import Ubuntu-24.04 D:\soft\ubuntu24 D:\ubuntu24.04.tar --version 2
#设置默认登陆用户为安装时用户名
#ubuntu2204 config --default-user Username
#删除导出的包
del D:\ubuntu24.04.tar\
七、win10系统Windows update无法启动,并提示“拒绝访问“
解决方法】
1、WIN+R键,打开注册表,输入regedit
2、找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wuauserv,如下图所示:
3、右键点击【wuauserv】文件夹,依次点击【权限】、【高级】。
4、点击【更改】,将所有者由SYSTEMG改为Administrator,【如果administrator不行,改为administrators试试。】
然后确定即可,回到everyone,勾选完全控制
所有者修改
5、至此操作完成,可以去启动Windows updata。
八、WSL update 提示灾难性故障
最近需要把 Windows 10 机器上的 WSL 升级到 WSL2。但是我在 PowerShell 运行 <font style="color:rgb(25, 27, 31);background-color:rgb(248, 248, 250);">wsl --update</font>
的时候会提示“灾难性故障”,而且不给出任何失败的原因,可以说是很灾难了。
搜了一圈没找到有用的解决办法。最后我去 WSL 的 GitHub 下载了最新版本的 release 包:Releases · microsoft/WSL
https://github.com/microsoft/WSL/releases
安装包打开以后等进度条滚完,窗口就自动消失了,不会有安装成功的提示(这很微软)。装完以后运行 <font style="color:rgb(25, 27, 31);background-color:rgb(248, 248, 250);">wsl --version</font>
可以看到确实升级成了安装包的版本:
再运行 <font style="color:rgb(25, 27, 31);background-color:rgb(248, 248, 250);">wsl --update</font>
就成功了: