家庭版 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

落下镜像后的效果:

相关推荐
Kay_Liang3 小时前
【Hive 踩坑实录】从元数据库初始化到 HiveServer2 启动的全流程问题解决
大数据·linux·hive·hadoop·笔记·mysql·ubuntu
熙客4 小时前
Docker核心文件:DockerCompose文件
docker·容器
荣光波比4 小时前
CI/CD(三)—— 【保姆级实操】Jenkins+Docker GitLab+Tomcat 实现微服务CI/CD全流程部署
ci/cd·docker·jenkins
janthinasnail5 小时前
使用Docker搭建DOClever接口管理平台
docker·api接口文档
Azure++5 小时前
Windows配置jar、redis、nginx开机自启
windows·redis·jar
非凡ghost6 小时前
批量转双层PDF(可识别各种语言) 中文绿色版
前端·windows·pdf·计算机外设·软件需求
m0_748240259 小时前
Windows编程+使用C++编写EXE加壳程序
开发语言·c++·windows
chinesegf11 小时前
Docker篇4-本地项目app.py与docker加载项目镜像的开发顺序
运维·docker·容器
CyreneSimon11 小时前
Docker 拉取配置教程:解决镜像拉取连接超时问题
运维·docker·容器