Tommonkey

All greatness comes from a brave beginning

0%

WSL2安装Ubantu与Docker-desktop部署

WSL2(windows subsystem for linux 2)是微软推出的Windows上的Linux子系统,部署WSL2你将可以在windows上使用Linux系统,其使用体验无限接近与直接安装一台Linux系统。这里我部署WSL2主要是为了想在windows上使用docker。这里实现的过程大致是:

  • 开启windows上的haper-V虚拟化
  • 部署完wsl2
  • 选择下载wsl2的linux版本
  • 安装docker desktop
  • 启动daocker
    (tips:因为windows上不支持docker,所以我们走曲线救国的道路,通过安装WSL2来部署Linux,再让docker跑在子系统上来实现docker在Windows上的运行)

Windows开启haper-V虚拟化

我使用的是windows11来演示,直接开干(开启该功能位置在:设置-应用-可选功能-更多windows功能,开启后需要重启):
1-1

部署WSL2

使用管理员身份打开Power shell

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 启用虚拟机功能
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

# 启用适用于 Linux 的 Windows 子系统可选功能,输入后需要重启
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

# 将WSL2设置为默认版本
wsl --set-default-version 2

# 从WSL1升级到WSL2,浏览器下载并安装Linux内核更新包,地址如下:
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

# 在 Microsoft Store商店中选择合适大的linux分发版,搜索wsl即可,我这里选择的是ubantu18.04 LTS
# 安装完成后,在开始菜单是可以看见我们安装的linux系统的,点击启动,按照提示设置用户名/密码。接下里设置一下root密码,输入如下命令即可设置root密码:
sudo passwd root

接下来优化一下ubantu,更换国内的源以提升下载速度:
查看ubantu的codename
1-2
备份系统源

1
2
cd /etc/apt
sudo cp sources.list sources.list.bak

写入源,注意,下面中的$Codename替换为第一步我们查看到的codename的名字,在记事本中批量替换即可

1
2
3
4
5
6
7
8
9
10
11
vim source.list
deb http://mirrors.aliyun.com/ubuntu/ $Codename main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ $Codename-backports main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ $Codename-proposed main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ $Codename-security main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ $Codename-updates main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ $Codename main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ $Codename-backports main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ $Codename-proposed main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ $Codename-security main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ $Codename-updates main multiverse restricted universe

执行更新

1
apt-get update

更新系统

1
sudo apt-get -y update && sudo apt-get -y upgrade

参照链接:WSL2安装

安装docker-desktop

官网下载地址:Docker-desktop
1-3
下载好后,直接运行安装,安装一切顺利的话,你进入WSL2中输入docker可以看见已经有docker了,同时你在powershell中也能查看docker
1-4
1-5

修改docker镜像存储位置

经过上面的一顿操作,我们后面pull镜像的时候是直接下载到C盘的,到时候眼睁睁的看着C盘变成红色那种感觉可不好,所以需要改变一下docker镜像的存储位置
powershell查看需要导出的子系统

1
wsl -l -v

没猜错一开始就三个:ubantu,docker-desktop,docker-desktop-data,uabntu是我们安装,后面两个则是docker desktop在安装的时候创建两个wsl子系统,一个是存放docker程序的,另一个是存放镜像的,我们就需要把这两个移动到其他位置就可以了
首先删除image/container/wsl/hyperv数据
1-6

1
2
3
4
5
6
7
8
9
10
11
# 导出这两个子系统
wsl --export docker-desktop docker-desktop.tar
wsl --export docker-desktop-data docker-desktop-data.tar

# 删除现有的wsl子系统
wsl --unregister docker-desktop
wsl --unregister docker-desktop-data

# 重新创建wsl子系统
wsl --import docker-desktop d:\your-install-path docker-desktop.tar
wsl --import docker-desktop-data d:\your-install-path docker-desktop-data.tar

完成上述操作,重新启动即可

OVER

奖励作者买杯可乐?