🚀 Windows下从 0 到 1:使用 WSL2 + VPN + Docker 整合环境全教程

内容纲要

“你不是不会用 Docker,你是被硬生生打救无间道。” — 这篇教程就是问题的答案


「基础配置」

1. 安装 WSL2 + Ubuntu 22.04

配置 WSL2

wsl --install -d Ubuntu-22.04
wsl --set-default-version 2

确认 Ubuntu 已安装

wsl --list --verbose

2. 配置 WSL2 的 VPN 输出

启用 Clash/V2ray/Shadowrocket 等

  • 打开 "允许局域网连接"
  • 设置 HTTP 代理:127.0.0.1:7897 (Clash 混合端口)

WSL2 中自动设置 proxy

#!/bin/bash
HOST_IP=172.17.32.1  # 自己的宿主机内网IP

export http_proxy="http://$HOST_IP:7897"
export https_proxy="http://$HOST_IP:7897"
export all_proxy="socks5://$HOST_IP:7897"

调试

curl -I https://www.google.com

「Docker CE 安装」

3. 配置 Docker 官方源

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
  sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

4. 安装 Docker

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io \
  docker-buildx-plugin docker-compose-plugin

5. 配置 docker 群组权限

sudo usermod -aG docker $USER
exit  # 重进 Ubuntu 生效

「启动 dockerd (带代理)」

因为 WSL2 本身不带 systemd,所以需要手动启动 dockerd:

简易版 script: start-docker-proxy.sh

#!/bin/bash
PROXY_IP=172.17.32.1
PROXY_PORT=7897

if pgrep dockerd > /dev/null; then
  echo "✅ dockerd 已运行"
else
  echo "⏱ 启动 dockerd with proxy..."
  export HTTP_PROXY=http://$PROXY_IP:$PROXY_PORT
  export HTTPS_PROXY=http://$PROXY_IP:$PROXY_PORT
  export ALL_PROXY=socks5://$PROXY_IP:$PROXY_PORT
  sudo -E nohup dockerd > /tmp/dockerd.log 2>&1 &
  echo "✅ Docker 已启动"
fi

自动加载到 ~/.bashrc

echo "source ~/start-docker-proxy.sh" >> ~/.bashrc

「测试 Docker」

运行 Hello World

docker run hello-world

如果显示:

Hello from Docker!
...

那么你已经全部打通啦!🎉


「自动化套件说明」

  • 建议进入 ~/.bashrc 设置 proxy
  • 建议将 dockerd 启动脚本入口文件
  • 不要信 127.0.0.1 ,信 172.17.xxx.xxx

「总结」

“在 Windows 下环境调通 WSL + VPN + Docker,一步步都有坑,但每一步都有答案。”

🌟 环境启动成功后,你就能开始 Dockerfile / Compose / AI / Web / DevOps 的海洋啦~

Leave a Comment

您的电子邮箱地址不会被公开。 必填项已用*标注

close
arrow_upward