当前位置: 首页 > news >正文

Windows11下Docker Desktop与K8S环境搭建:从镜像构建到Dashboard部署全流程

1. Windows11下Docker Desktop安装准备

在Windows11上安装Docker Desktop前,我们需要先了解几个关键概念。Docker Desktop本质上是一个打包好的解决方案,它把Linux容器运行时环境、虚拟化技术和用户界面整合在一起。相比传统方式(先装虚拟机再装Linux最后装Docker),这种一体化方案让开发效率提升了好几倍。

我去年帮团队迁移开发环境时,发现很多同事卡在基础环境配置上。其实只要硬件满足条件,整个过程可以非常顺畅。你的电脑需要:

  • Windows11 22H2或更新版本
  • 支持虚拟化的64位CPU(近5年的Intel/AMD都支持)
  • 至少4GB内存(建议8GB以上)
  • BIOS中开启虚拟化技术(VT-x/AMD-V)

检查虚拟化是否开启有个简单方法:打开任务管理器→性能标签页,看"虚拟化"是否显示"已启用"。如果显示禁用,需要进入BIOS设置。不同主板进入方式不同,一般是开机时按F2或Del键,在Advanced或Security标签下找到Virtualization Technology选项。

2. 安装Docker Desktop实战步骤

2.1 启用系统必要组件

现在Docker Desktop默认使用WSL 2后端,我们需要先启用相关功能。以管理员身份打开PowerShell,依次执行:

# 启用WSL功能 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart # 启用虚拟机平台 dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

执行完后需要重启电脑。我建议顺便更新WSL内核,去微软官网下载最新wsl_update_x64.msi安装包。安装后设置WSL 2为默认版本:

wsl --set-default-version 2

2.2 安装Docker Desktop

从官网下载最新安装包(目前是4.39.0版本),双击运行安装程序。新版安装过程极其简单,基本就是一路Next。不过有几点需要注意:

  • 安装路径建议改到非系统盘(如D:\Docker)
  • 安装完成后不要立即打开,先配置镜像源

创建或修改配置文件%USERPROFILE%\.docker\daemon.json,添加国内镜像源加速:

{ "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://mirror.baidubce.com" ], "insecure-registries": [] }

第一次启动时会提示需要安装WSL内核组件,耐心等待下载完成。如果卡住,可以尝试科学上网或手动下载wsl内核包。

3. 构建和运行第一个容器

3.1 使用Dockerfile构建镜像

我们以一个SpringBoot应用为例,准备如下Dockerfile:

FROM openjdk:11-jre WORKDIR /app COPY target/demo-0.0.1.jar app.jar EXPOSE 8080 ENTRYPOINT ["java","-jar","app.jar"]

在项目目录下执行构建命令:

docker build -t demo-app:v1 .

这里有个实用技巧:在Docker Desktop设置中开启BuildKit加速构建(Settings→Docker Engine添加"features": { "buildkit": true })。实测构建速度能提升30%以上。

3.2 运行和管理容器

启动容器并映射端口:

docker run -d -p 8080:8080 --name myapp demo-app:v1

查看运行日志不必再记复杂命令,Docker Desktop的GUI界面直接点击容器就能看到实时日志。我还经常用这个功能排查内存泄漏问题,配合docker stats命令监控资源占用。

4. Kubernetes环境搭建

4.1 启用Kubernetes集群

在Docker Desktop设置中,找到Kubernetes选项卡,勾选"Enable Kubernetes"。这里有个坑要注意:默认会从k8s.gcr.io拉取镜像,国内大概率会失败。解决方法有两种:

  1. 提前下载离线镜像包
  2. 配置国内镜像源

我推荐使用阿里云提供的镜像仓库,执行以下命令修改镜像源:

kubectl edit daemonset kube-proxy -n kube-system # 搜索gcr.io替换为registry.aliyuncs.com/google_containers

安装过程大约需要5-10分钟,取决于网络状况。完成后验证:

kubectl get nodes # 应该看到docker-desktop节点状态为Ready

4.2 部署Dashboard可视化界面

首先下载官方部署文件:

curl -O https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

编辑文件,找到Service部分修改为NodePort类型:

spec: type: NodePort ports: - port: 443 targetPort: 8443 nodePort: 30009

应用配置并创建管理员账号:

kubectl apply -f recommended.yaml kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin

获取访问令牌:

kubectl -n kubernetes-dashboard create token dashboard-admin

访问地址:https://localhost:30009 输入令牌即可登录。我在实际使用中发现Chrome可能会拦截,换成Edge浏览器通常能直接打开。

5. 常见问题排查

5.1 启动报错解决方案

如果遇到"Docker Desktop unexpected error",可以尝试以下步骤:

  1. 彻底卸载Docker Desktop
  2. 删除残留文件(C:\Program Files\Docker 和 %APPDATA%\Docker)
  3. 清理注册表(谨慎操作)
  4. 重新安装最新版本

5.2 性能优化技巧

WSL 2默认会占用大量内存,可以通过在用户目录创建.wslconfig文件限制资源:

[wsl2] memory=4GB processors=2

对于磁盘IO性能问题,建议将项目文件放在Linux文件系统中(如\wsl$\Ubuntu\home),而不是Windows目录。实测编译速度能提升3-5倍。

6. 进阶使用技巧

6.1 多项目环境隔离

开发多个微服务项目时,可以用Docker Compose管理依赖。准备docker-compose.yml文件:

version: '3' services: app1: build: ./service1 ports: - "8080:8080" app2: build: ./service2 ports: - "8081:8080" redis: image: redis:alpine

启动整个环境只需一条命令:

docker compose up -d

6.2 CI/CD管道集成

在Windows上同样可以运行Jenkins等CI工具。我常用的方案是:

  1. 在Docker中运行Jenkins容器
  2. 挂载Docker套接字(/var/run/docker.sock)
  3. 使用Jenkinsfile定义构建流程

这样就能实现从代码提交到自动部署的完整流程。一个简单的Jenkinsfile示例:

pipeline { agent any stages { stage('Build') { steps { sh 'docker build -t myapp .' } } stage('Deploy') { steps { sh 'docker-compose up -d' } } } }

在实际项目中使用这套方案,我们的部署效率提升了60%,环境一致性也得到了保证。特别是在团队协作时,新人不再需要花一整天配置开发环境,只需安装Docker Desktop就能立即投入开发。

http://www.jsqmd.com/news/645370/

相关文章:

  • 如何高效管理TIDAL音乐库:tidal-dl-ng全功能使用指南
  • 保姆级教程:在Ubuntu 22.04上用ROS2 Humble给PiPER机械臂做手眼标定(附完整命令与避坑点)
  • 陵水三才旺季木材店:三亚工地用材回收厂家 - LYL仔仔
  • 告别黑屏!Ubuntu 20.04安装Nvidia驱动后,用这招快速恢复图形界面
  • ESP-Drone:用百元预算打造你的第一架开源无人机,小白也能轻松上手!
  • 用DOTween的Sequence和回调函数,轻松搞定Unity中复杂的多步骤动画流程
  • 告别官方镜像失效!手把手教你用Docker和第三方镜像快速拉起Unstructured API服务
  • 别再只盯着高德百度了!从客户端到数据源,一文搞懂现代GIS应用的完整技术栈
  • 口碑好的无氧退火丝外贸厂家分享,助你找到高性价比之选 - 工业品网
  • 终极指南:如何利用TEK Launcher构建高效游戏管理生态
  • 如何快速下载国内主流视频:Video-Downloader完整使用指南
  • Freesurfer_T1_组分析实战指南:从数据预处理到结果解读
  • 00后AI产品经理面试实录:面试官句句扎心,句句是干货,助你避坑!
  • 用SW2URDF插件搞定移动机器人仿真:三轮底盘URDF导出+CoppeliaSim运动控制实战
  • 从PTA编程题到项目实战:如何用Java多态设计一个可扩展的图形计算库
  • 泰州海陵区靠谱的装修公司推荐,口碑好的品牌哪家更值得选 - 工业品牌热点
  • GSE高级宏编译器:魔兽世界一键连招的革命性解决方案
  • 算法工程师视角下的TVA算法优化技巧(中级系列之二)
  • 从‘分层绘画’到AI生成:用生活化比喻彻底搞懂RQ-VAE的残差量化
  • Unity中如何通过EventTrigger实现InputField软键盘自动弹出
  • 别再为SD卡格式化头疼了!手把手教你用FAT32格式搞定DGUS屏程序下载
  • 如何用Mermaid-cli命令行工具快速生成专业图表:终极完整指南
  • 如何评估蜂窝活性炭、果壳活性炭品牌供应商,哪家性价比高 - 工业设备
  • 快速掌握SRWE:终极窗口分辨率自定义工具完全指南
  • WorkshopDL:跨平台Steam创意工坊资源下载的架构演进与实践指南
  • 虚幻引擎Pico大空间VR实战:从原点校准到性能调优的完整避坑指南
  • 香港科技大学团队重磅突破:如何让一张照片秒变动态头像演员?
  • SIM900A模块AT指令没反应?别急着换模块,先检查这3个新手常踩的坑(附串口助手设置)
  • 揭秘低压4 - 6bar空压机测漏空压机能否无人值守,购买推荐理由大公开 - mypinpai
  • 零基础转战网络安全:一份保姆级入门指南与学习路径