文章目录
- 前言
-
- [家庭版 windows WSL2 安装Ubuntu 、并在这基础上部署docker、通过本地代理进行联网](#家庭版 windows WSL2 安装Ubuntu 、并在这基础上部署docker、通过本地代理进行联网)
-
- [1. 家庭版 windows WSL2 安装Ubuntu](#1. 家庭版 windows WSL2 安装Ubuntu)
-
- [1.1. 安装Ubuntu](#1.1. 安装Ubuntu)
- [1.2. 如何访问Windows目录](#1.2. 如何访问Windows目录)
- [1.3. WSL2存储位置迁移](#1.3. WSL2存储位置迁移)
-
- [1.3.1. 导出现有的 WSL2 发行版](#1.3.1. 导出现有的 WSL2 发行版)
- [1.3.2. 查看Ubuntu启动状态、删除已注册的发行版](#1.3.2. 查看Ubuntu启动状态、删除已注册的发行版)
- [1.3.3. 将 Ubuntu-22.04 发行版导入到 F 盘并发布新的发行版名称](#1.3.3. 将 Ubuntu-22.04 发行版导入到 F 盘并发布新的发行版名称)
- [1.3.4. 启动新注册的发行版](#1.3.4. 启动新注册的发行版)
- [2. 在 WSL2 内的 Linux 环境 中部署 Docker](#2. 在 WSL2 内的 Linux 环境 中部署 Docker)
-
- [2.1. 安装docker](#2.1. 安装docker)
- [2.2. 通过本地代理上网](#2.2. 通过本地代理上网)
前言
如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!
家庭版 windows WSL2 安装Ubuntu 、并在这基础上部署docker、通过本地代理进行联网
1. 家庭版 windows WSL2 安装Ubuntu
1.1. 安装Ubuntu
1、第一步、以管理员身份运行 PowerShell,执行:
bash
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重启电脑。
安装Ubuntu 22.04 LTS步骤:
bash
1. 打开 Microsoft Store。
2. 搜索 Ubuntu 22.04 LTS。
3. 点击 获取 并安装。
4. 安装完成后,启动 Ubuntu,设置用户名和密码.


安装完的效果:

默认创建root用户、没有密码、登录root用户:
bash
wsl -d Ubuntu-22.04 -u root
安装常用的工具:
bash
apt-get install -y unzip
apt-get install -y openssh-client
apt-get install -y iputils-ping
apt-get install -y less
apt-get install -y wget
apt-get install -y curl
apt-get install -y iproute2
apt-get install -y telnet
apt-get install -y iftop 实时监控网络带宽使用情况。
apt-get install -y nload 监控网络接口的流量
apt-get install -y iperf3 专注于网络带宽测试和性能测量
1.2. 如何访问Windows目录
WSL2 允许你运行 Linux 系统(比如 Ubuntu),但它实际上是运行在 Windows 内部的虚拟机中,Linux 发行版的文件系统(如 Ubuntu)和 Windows 系统是隔离的。因此,WSL2 内部的文件系统和 Windows 文件系统是分开的,但可以通过特定的路径进行交互。
bash
在 WSL2 内部,Windows 文件系统可以通过 /mnt/c(或其他字母驱动器)来访问。例如:
* C 盘 在 WSL2 中可以通过 /mnt/c 访问。
* D 盘 可以通过 /mnt/d 访问,依此类推。
示例:
bash
wsl -d Ubuntu-22.04 -u root

1.3. WSL2存储位置迁移
通过 wsl --export 和 wsl --import 命令将 WSL2 发行版迁移到其他磁盘。
默认存储位置:
bash
C:\Users\X217x\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState

1.3.1. 导出现有的 WSL2 发行版
将 Ubuntu-22.04 发行版导出到 F 盘 中的 Ubuntu-22.04.tar 文件。
bash
wsl --export Ubuntu-22.04 F:\wsl\Ubuntu-22.04.tar


1.3.2. 查看Ubuntu启动状态、删除已注册的发行版
bash
wsl --list --verbose
wsl --unregister Ubuntu-22.04

1.3.3. 将 Ubuntu-22.04 发行版导入到 F 盘并发布新的发行版名称
bash
wsl --import yzy-Ubuntu F:\wsl\Ubuntu-22.04 F:\wsl\Ubuntu-22.04.tar --version 2
含义:
- yzy-Ubuntu 安装的发行版名称(可以自定义)。
- F:\wsl\Ubuntu-22.04 希望存储发行版的目录。
- F:\wsl\Ubuntu-22.04.tar 是你之前导出的 .tar 文件。
- --version 2 表示使用 WSL2 版本。


1.3.4. 启动新注册的发行版
bash
wsl -d yzy-Ubuntu

2. 在 WSL2 内的 Linux 环境 中部署 Docker
2.1. 安装docker
修改国内镜像源:
bash
sudo nano /etc/apt/sources.list
新增:
bash
deb http://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
其余全部注释掉;
保存: ctrl + X
输入:Y + 回车

更新:
bash
sudo apt clean
sudo apt update
会从软件源下载最新的软件包信息,这包括可用的最新版本、依赖关系以及其他更新信息。即使你已经安装过一些软件包,运行这一步可以确保你将从最新的软件源安装或升级软件包。


安装 Docker
bash
sudo apt install docker.io -y

安装 Docker Compose 插件:
bash
sudo apt install docker-compose -y

测试:
bash
docker-compose version

启动 Docker 服务
bash
sudo systemctl enable docker
sudo systemctl start docker

验证:
bash
docker --version

2.2. 通过本地代理上网
本地代理 允许局域网连接(Allow LAN)。

Linux中执行下边命令:
bash
ip route | grep default

172.23.128.1 是 WSL2 能访问到的 Windows 主机真实网关 IP.
基于该ip执行下边的命令。
bash
sudo mkdir -p /etc/systemd/system/docker.service.d
cat <<EOF | sudo tee /etc/systemd/system/docker.service.d/proxy.conf
[Service]
Environment="HTTP_PROXY=http://172.23.128.1:7890"
Environment="HTTPS_PROXY=http://172.23.128.1:7890"
Environment="NO_PROXY=localhost,127.0.0.1"
EOF
cat /etc/systemd/system/docker.service.d/proxy.conf
sudo systemctl daemon-reload
sudo systemctl restart docker

查看docker是否启动:
bash
sudo systemctl status docker

测试:
bash
docker pull docker.io/library/mysql:9.4.0
落下镜像后的效果:
