YYMuse

Windows下开发环境镜像与配置-docker

2026-06-02 · 开发与运维

Windows 下 Docker + Kubernetes 的安装、镜像源与缓存目录配置指南

1. Docker 安装(推荐方式)

  • 直接访问 Docker Desktop 官网 下载最新 Windows Installer(推荐稳定版,支持 WSL 2 后端)。

  • 环境变量配置(避免 C 盘臃肿,推荐): 右键 “此电脑” → 属性 → 高级系统设置 → 环境变量,新增用户变量

  • DOCKER_CONFIGD:\runenv\rundev\docker\config

  • MINIKUBE_HOMED:\runenv\rundev\docker\minikube

  • 安装时可以自定义安装目录(避免默认 C 盘),例如 D:\runenv\rundev\docker


Start-Process "Docker Desktop Installer.exe" -Wait -ArgumentList "install", "-accept-license", "--installation-dir=D:\runenv\rundev\docker\docker", "--wsl-default-data-root=D:\runenv\rundev\docker\docker-data", "--windows-containers-default-data-root=D:\runenv\rundev\docker\docker-image"

# https://docs.docker.com/desktop/setup/install/windows-install/#installer-flags
# --installation-dir: Where Docker Desktop’s binaries and related files go.
# --wsl-default-data-root: WSL2’s storage location for Docker data.
# --windows-containers-default-data-root: Where Docker stores data for Windows containers.

  • 安装完成后启用 WSL 2(系统会自动提示),并在设置中选择 WSL 2 作为默认后端。

  • 安装完成后验证(开启新的Terminal):

powershell docker --version docker compose version

Kubernetes 本地集成

  • Docker Desktop 内置 Kubernetes 支持,可在设置中直接启用。

推荐替代工具(轻量选择)

  • Podman Desktop:免费、无守护进程、rootless 模式(https://podman-desktop.io/)。

powershell winget install RedHat.Podman-Desktop

2. Kubernetes 安装(本地开发推荐)

首选方案

  • Docker Desktop 内置 K8s:安装 Docker 后,在 Docker Desktop 设置 → Kubernetes → 勾选 “Enable Kubernetes” 并应用。

  • Minikube(功能更完整,强烈推荐):

powershell winget install Kubernetes.minikube minikube start --driver=docker

  • kind(轻量快速,适合测试):

powershell winget install kind kind create cluster

K3s 安装(轻量生产级补充方案): K3s 是极致轻量的 Kubernetes 发行版,在 Windows 上主要通过 WSL2 运行(推荐 Ubuntu 发行版)。

安装步骤(在 WSL2 内执行):

  1. 启用 WSL2 并开启 systemd(必须):

powershell # PowerShell(管理员) wsl --install wsl --set-default-version 2

在 WSL 内编辑 /etc/wsl.conf

ini [boot] systemd=true

重启 WSL:wsl --shutdown

  1. 在 WSL Ubuntu 中安装 K3s:

```bash # 更新系统 sudo apt update && sudo apt upgrade -y

# 安装 K3s(单节点) curl -sfL https://get.k3s.io | sh -

# 或指定版本/国内加速 curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh - ```

  1. 验证:

bash sudo k3s kubectl get nodes sudo k3s kubectl get pods -A

从 Windows 访问 K3s

# 复制 kubeconfig 到 Windows
mkdir %USERPROFILE%\.kube
wsl -u root cat /etc/rancher/k3s/k3s.yaml > %USERPROFILE%\.kube\config
# 编辑 config 文件,将 server: https://127.0.0.1:6443 改为 WSL IP

Podman 搭配 K3s:可使用 Podman 作为容器运行时(实验性)。

验证

kubectl version --client
k3s --version

3. 国内镜像源配置(强烈推荐,解决下载慢问题)

Docker 镜像加速(推荐阿里云、腾讯云):

全局配置(推荐)

  1. 在 Docker Desktop 设置 → Docker Engine,编辑 daemon.json

json { "registry-mirrors": [ "https://registry.docker-cn.com", "https://mirror.ccs.tencentyun.com", "https://docker.mirrors.sjtug.sjtu.edu.cn", "https://cr.console.aliyun.com" ] }

  1. 重启 Docker Desktop。

K3s 镜像加速(通过 registries.yaml): 在 WSL 内创建 /etc/rancher/k3s/registries.yaml

yaml mirrors: docker.io: endpoint: - "https://registry.docker-cn.com" - "https://mirror.ccs.tencentyun.com" registry.k8s.io: endpoint: - "https://registry.aliyuncs.com"

Kubernetes / Minikube 镜像加速

minikube start --registry-mirror=https://registry.cn-hangzhou.aliyuncs.com --driver=docker

临时使用

docker pull nginx --registry-mirror=https://mirror.ccs.tencentyun.com

4. 缓存目录配置

Docker 默认缓存/镜像位置(Windows WSL2)

  • 虚拟磁盘:%LOCALAPPDATA%\Docker\wsl\data\ext4.vhdx(最占空间)
  • 镜像层缓存:WSL 内部 /var/lib/docker

K3s 缓存目录(containerd 管理)

  • 默认位置(WSL 内):/var/lib/rancher/k3s/agent/containerd/

修改缓存目录方法(推荐移到非系统盘):

Docker Desktop(最简单):

  • 设置 → Resources → Advanced → Disk image location → 改为 D:\runenv\rundev\docker\data

K3s 自定义存储: 在安装时指定数据目录:

curl -sfL https://get.k3s.io | INSTALL_K3S_DATA_DIR=/mnt/d/runenv/rundev/k3s sh -

或修改 /etc/systemd/system/k3s.service 中的 --data-dir 参数。

Minikube 缓存配置

minikube config set cache dir D:\runenv\rundev\minikube\cache

查看与清理缓存

docker system df
docker builder prune -a --force
docker system prune -a --volumes --force
sudo k3s kubectl get pods -A   # 检查 K3s 资源
# K3s 清理
sudo k3s crictl rmi --prune

5. 常用实用命令

# 拉取镜像
docker pull nginx

# 运行容器
docker run -d -p 8080:80 nginx

# Docker Compose
docker compose up -d

# Kubernetes 相关
kubectl get pods
minikube dashboard
k3s kubectl get nodes

# K3s 管理
sudo k3s stop
sudo k3s start

# 构建镜像
docker build -t myapp:local .

6. 常见问题解决

  • 权限问题:用管理员 PowerShell 执行安装和启动命令;K3s 在 WSL 内用 sudo。
  • 缓存占用大:定期执行 prune 清理,或将数据目录迁移到 D 盘大容量分区。
  • 下载慢/失败:配置多个国内 registry-mirrors 并重启 Docker/K3s。
  • WSL 资源不足:在 Docker 设置中增加 CPU/内存分配,或调整 .wslconfig
  • Docker 与其他工具冲突:优先选择 Docker Desktop + Minikube/K3s 组合,或 Podman Desktop + Minikube,避免同时长期运行多个容器引擎。
  • K3s 启动失败:确认 systemd 已启用,检查 /var/lib/rancher/k3s 权限与磁盘空间。
  • kubeconfig 访问:确保 Windows 与 WSL 的 kubeconfig server 地址使用正确的 WSL IP。

配置完成后,容器和镜像的拉取速度会显著提升,强烈建议在 Windows 上根据需求选择以下组合

  • 主流推荐:Docker Desktop + Minikube(最佳集成体验)
  • 轻量推荐:Docker Desktop + K3s(WSL2 内,资源占用最低,接近生产环境)
  • 轻量安全推荐:Podman Desktop + Minikube
优缪思 微信公众号二维码
微信扫码关注订阅号 · 优缪思,获取 PM / AI 精选内容