【Day2】WSL2+Docker配置全攻略

1. 启用WSL2

WSL2:Windows上运行Linux的完整指南

2. 安装Docker Desktop

1)从官网下载Docker Desktop for Windows

​

2)安装时务必勾选"Use WSL 2 instead of Hyper-V"

​

3)启动Docker Desktop后,进入 Settings → Resources → WSL Integration

4)确保Ubuntu-24.04发行版处于"Enabled"状态

​

5)配置镜像加速器

复制代码
{
  "features": {
    "buildkit": true
  },
  "registry-mirrors": [
    "https://docker.1panel.live",
    "https://docker.1ms.run",
    "https://docker.rainbond.cc"
  ]
}

​

3. 配置WSL网络DNS(重要)

WSL经常出现DNS解析问题,需要手动配置:

复制代码
# 进入WSL Ubuntu终端
sudo nano /etc/wsl.conf

添加以下内容:

复制代码
[network]
generateResolvConf = false

​

然后手动配置DNS(需要管理员身份):

复制代码
sudo rm -f /etc/resolv.conf
sudo nano /etc/resolv.conf

填入:

复制代码
nameserver 8.8.8.8
nameserver 114.114.114.114

说明:8.8.8.8 是 Google 的公共 DNS 服务器,114.114.114.114 是中国国内常用的公共 DNS。

最后在cmd中重启WSL:

复制代码
wsl --shutdown
wsl

4. 启用WSL网络镜像模式(重要)

如果WSL版本较新(Windows 11 或 Windows 10 特定更新),可以使用镜像网络模式,让 WSL 完全共享 Windows 的网络,彻底解决DNS和路由问题。

以管理员的身份打开PowerShell,创建(或编辑).wslconfig 文件:

复制代码
notepad "$env:USERPROFILE\.wslconfig"

填入:

复制代码
[wsl2]
networkingMode=mirrored
dnsTunneling=true
firewall=false

最后在PowerShell中重启WSL:

复制代码
wsl --shutdown
wsl

执行 nslookup docker.com验证网络是否正常:

​

5. 重要提醒

在执行Docker相关操作前,强烈建议先通过以下步骤检查DNS解析是否正常:

1)打开 WLS 终端/命令提示符

2)输入命令:nslookup docker.com

3)检查返回结果:

① 正常情况应显示docker.com的IP地址(如上图)

② 若显示"服务器不可用"或"请求超时",则说明DNS存在问题

DNS解析失败会导致以下问题:

1)无法拉取Docker镜像(如执行docker pull命令时出现网络错误)

2)无法访问Docker Hub仓库

3)容器内部网络连接异常

建议在安装Docker后立即进行此项检查,可以避免后续操作中因网络问题导致的各类故障。

相关推荐
虎头金猫3 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
分布式存储与RustFS3 天前
MinIO 官方 Docker 镜像被移除:依赖它的项目该怎么办
docker·云原生·devops·对象存储·minio·分布式存储
AI职业加油站3 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
此冬歌咏3 天前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
玉&心3 天前
通过Arthas在线诊断K8S中的内存及JVM等使用情况
docker·k8s·arthas
xing-xing3 天前
Docker容器中Nginx站点根目录网页配置访问
nginx·docker
-梅3 天前
linux(8) 软硬链接
linux·运维·服务器
赵文宇(温玉)3 天前
CoreDNS的hosts插件的缺行配置导致k8s集群异常
容器·kubernetes·rancher
guo_wen_qiang3 天前
上传本地镜像到harbor中
docker·容器·持续部署
张洛闻Eren3 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github