家庭版 windows WSL2 安装Ubuntu 、并在这基础上部署docker、通过本地代理进行联网

文章目录

  • 前言
    • [家庭版 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

落下镜像后的效果:

相关推荐
h***936611 分钟前
【MySQL数据库】Ubuntu下的mysql
数据库·mysql·ubuntu
三天不学习1 小时前
GitLab Docker 安装完整配置项说明
docker·容器·gitlab
zjj5872 小时前
ubuntu虚拟内存
linux·运维·ubuntu
Q688238862 小时前
基于Matlab的LMI矩阵理论算法与矩阵不等式研究:待求矩阵在LMI区域内的优化设计与区间观...
ubuntu
A懿轩A2 小时前
【2025最新】Flutter 编译开发 鸿蒙HarmonyOS 6 项目教程(Windows)
windows·flutter·华为·openharmony·开源鸿蒙
北冥有鱼被烹4 小时前
【微知】Ubuntu中如何安装docker?
ubuntu·docker
会飞的土拨鼠呀5 小时前
运维工程师需要具备哪些技能
linux·运维·ubuntu
say_fall6 小时前
WinAPI 极简教程:超简单的 Windows 接口入门
c语言·windows
幻灭行度6 小时前
docker镜像导入到K8S的containerd中
java·docker·kubernetes
虎头金猫7 小时前
随时随地处理图片文档!Reubah 加cpolar的实用体验
linux·运维·人工智能·python·docker·开源·visual studio