如何在Win11 WSL2环境下配置Docker Desktop和Minikube?
摘要:1. 准备工作操作系统:Win11,建议保持系统更新 WSL版本:强烈建议使用 WSL2(性能和兼容性更好) 推荐用 Ubuntu 20.0422.04 作为 WSL 子系统检查安装 WSL2在 PowerShell(管理员)运行:ws
1. 准备工作操作系统:Win11,建议保持系统更新
WSL版本:强烈建议使用 WSL2(性能和兼容性更好)
推荐用 Ubuntu 20.04/22.04 作为 WSL 子系统检查/安装 WSL2在 PowerShell(管理员)运行:
wsl --install
wsl --set-default-version 2
如已安装可用 wsl -l -v 查看当前系统及版本。
如需升级已存在子系统至 WSL2:
wsl --set-version <Your-Distro-Name> 2
2. 安装 Docker Desktop下载 Docker Desktop for Windows 官方安装包安装过程中确保勾选“为 WSL2 安装 Docker” 选项
安装好后启动 Docker Desktop,务必在设置→资源→WSL integration,确保你用的 WSL 发行版已启用 Docker 集成(一般都自动勾选)验证:在 WSL/Ubuntu 里直接执行 docker info 能看到 Docker 信息,表示已连通
在 WSL Ubuntu 中遇到域名解析失败(例如执行 sudo apt update 时出现 Temporary failure resolving 错误)是一个常见问题。其核心原因是 WSL 会自动生成并覆盖 /etc/resolv.conf 这个 DNS 配置文件,导致您自定义的 DNS 设置失效。
首先,您需要编辑或创建 /etc/wsl.conf 文件,告诉 WSL 不要自动管理 DNS。
sudo nano /etc/wsl.conf
在文件中添加以下配置
[network]
generateResolvConf = false
保存并退出编辑器。
手动配置 DNS 服务器 接下来,删除旧的 DNS 配置文件,并创建一个新的、静态的配置文件。 bash # 删除可能存在的旧文件(包括符号链接)
sudo rm -f /etc/resolv.conf
然后,创建新的 resolv.conf 文件并写入 DNS 服务器地址
sudo nano /etc/resolv.conf
在文件中输入您选择的 DNS 服务器。最推荐使用您 Windows 主机中 WSL 虚拟网卡的 IP 作为 DNS 网关,这通常能获得最稳定的解析。您可以在 Windows PowerShell 中运行 ipconfig,找到名为 vEthernet (WSL) 的适配器,其 IPv4 地址 就是您需要的网关(例如 172.28.160.1)。
nameserver 172.28.160.1 # 请替换为您自己查到的 WSL 网关 IP
或者,您也可以使用公共 DNS,例如:
nameserver 114.114.114.114 # 国内常用 DNS
nameserver 8.8.8.8 # Google 公共 DNS
保存并退出。
重启 WSL 使配置生效 配置完成后,您必须完全重启 WSL 才能使更改生效
在 WSL Ubuntu 终端中,输入 exit 退出。在 Windows PowerShell 或 CMD(以管理员身份运行)中,执行关闭命令: powershell wsl –shutdown等待几秒后,重新启动您的 WSL Ubuntu 发行版。 验证 DNS 解析 重新进入 WSL Ubuntu 后,首先检查配置是否已应用: bash cat /etc/resolv.conf
确认输出的 nameserver 是您设置的地址。然后,测试网络连通性: bash ping www.baidu.com
如果能够收到回复,说明域名解析已恢复正常。
