WSL中的代理和镜像

在使用WSL时常常会遇安装软件网络慢,甚至有些情况下连不上的问题。有两种解决思路:一是使用镜像网站,例如国内的阿里云,这样下载软件时直接从国内下载,访问起来更流畅;二是购买并设置代理,虽然资源依然下载自国外,但网络的路径有更多的选择,可以选择更通常的中继站点访问国外的资源。

国内镜像

阿里云:https://developer.aliyun.com/mirror/ubuntu?spm=a2c6h.13651102.0.0.3e221b11zqcULk
镜像的设置并不麻烦,在阿里云Ubuntu镜像中,进行如下替换:

用你熟悉的编辑器打开 /etc/apt/sources.list,替换默认的 archive.ubuntu.com/ 为 mirrors.aliyun.com

设置代理

WSL2与windows的网络是相互独立的,所以即使windows中设置了代理,WSL2中也不能直接访问。可以通过clash for linux在WSL2中再次设置一个代理,记录一下大致过程:

step1:从github下载对应的clash软件包
step2:使用gzip进行解压缩,例如gzip -d clash-linux-386-v1.11.8.gz,得到二进制文件clash-linux-386-v1.11.8
step3:将该文件修改为可执行文件chmod +x clash-linux-386-v1.11.8
step4:更新订阅信息wget -O ~/.config/clash/config.yaml 你的订阅(配置文件位于~/.config/clash/中);
step5:在系统中设置代理变量export http_proxy=localhost:7080 && export https_proxy=7080

在设置好代理之后,可以通过wget方式进行测试,比如访问google.com,在代理设置失败的情况下,你会得到类似下面的信息:

$ wget www.google.com
--2022-06-01 21:26:23--  http://www.google.com/
Resolving www.google.com (www.google.com)... 210.209.84.142, 2001::34af:950
Connecting to www.google.com (www.google.com)|210.209.84.142|:80...
failed: Connection timed out.
Connecting to www.google.com (www.google.com)|2001::34af:950|:80... failed: Network is unreachable.

而如果成功设置了代理,则会得到类似如下的信息:

$ wget www.google.com
--2022-06-01 21:25:51--  http://www.google.com/
Connecting to 127.0.0.1:9090... connected.
Proxy request sent, awaiting response... 200 OK
Length: 18 [application/json]
Saving to: ‘index.html’

index.html                         100%[===============================================================>]      18  --.-KB/s    in 0s

2022-06-01 21:25:51 (5.70 MB/s) - ‘index.html’ saved [18/18]

需要注意的是,ping命令在运行时不会使用代理,所以即使设置了代理,使用ping google.com也会ping不通。

### 安装 Docker 并配置代理 #### 准备工作 为了在 Windows 的 WSL2 中成功安装并运行 Docker,需先确保已启用 WSL2 功能支持的 Linux 发行版。这一步骤不在本指南范围内。 #### 下载并安装 Docker Engine 对于不采用 Docker Desktop 方案的情况,在 WSL2 内部可以直接部署 Docker Engine 来实现相同的功能[^2]。具体操作如下: 1. 更新包索引并安装必要的依赖项: ```bash sudo apt-get update && sudo apt-get install -y \ ca-certificates \ curl \ gnupg \ lsb-release ``` 2. 添加官方 GPG 密钥: ```bash curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg ``` 3. 设置稳定版本仓库: ```bash echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` 4. 安装最新版本的 Docker Engine 及其 CLI 工具: ```bash sudo apt-get update && sudo apt-get install -y docker-ce docker-ce-cli containerd.io ``` 5. 验证安装是否成功: ```bash sudo docker run hello-world ``` #### 配置国内代理加速器 由于网络原因,可能需要配置 HTTP/HTTPS 代理来加快镜像拉取速度。编辑或创建 `/etc/docker/daemon.json` 文件加入代理服务器地址[^1]: ```json { "registry-mirrors": ["https://mirror.ccs.tencentyun.com"], "proxies": { "default": { "httpProxy": "http://your-http-proxy", "httpsProxy": "http://your-https-proxy" } } } ``` 注意替换 `http://your-http-proxy` `http://your-https-proxy` 为实际可用的代理服务端口信息。保存更改后重启 Docker 服务使新设置生效: ```bash sudo systemctl restart docker ``` #### 测试与验证 完成上述步骤之后,可以通过尝试拉取一个小巧的基础镜像来进行测试,比如 alpine: ```bash docker pull alpine ``` 如果一切正常,则说明已经成功完成了基于 WSL2 的 Docker 环境搭建及其代理配置过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值