Docker快速入门-第15章 Docker Desktop 使用 Kubernetes

Docker快速入门-第15章 Docker Desktop 使用 Kubernetes
第15章 Docker Desktop 使用 Kubernetes
🐳 15.1 Kubernetes基本概念
15.1.1 集群
集群 是一组用于运行容器化应用的节点计算机,Kubernetes运行的其实就是集群。

集群至少包含一个 控制平面(Control Plane)和一个或多个 计算机器或 节点(Node)。
控制平面负责维护集群的预期状态,例如运行哪个应用以及使用哪个容器镜像。
节点负责应用和工作负载的实际运行。
集群是 Kubernetes 的核心优势,能够在内部或云端跨一组机器(物理机、虚拟机都可以)调度和运行容器。
15.1.2 容器
Container(容器) 是一种便携式、轻量级的操作系统级虚拟化技术。

它使用 namespace 隔离不同的软件运行环境,并通过镜像自包含软件的运行环境。
容器体积小且启动快,可以在每个容器镜像中打包一个应用程序。
这种一对一的应用镜像关系解决了从开发到生产环境的一致性问题。
15.1.3 Pod
Pod 是Kubernetes中调度的单位,每个 Pod 可以包含一个或多个紧密关联的容器。

Pod 是一组紧密关联的容器集合,它们共享 PID、IPC、Network 和 UTS namespace。
Pod 是 Kubernetes 调度的基本单位,保证属于同一 Pod 的容器可以一起调度到同一台计算机上。
Pod 内的多个容器共享网络和文件系统,通过进程间通信和文件共享这种方式组合完成服务。
Pod 示例定义
yaml
Copy
apiVersion: v1
kind: Pod
metadata:
name: nginx
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
15.1.4 Node
Node 是 Pod 真正运行的主机,可以是物理机,也可以是虚拟机。

每个 Node 节点上至少要运行 container runtime(如 docker 或者 rkt)、kubelet 和 kube-proxy 服务。
15.1.5 Namespace
Namespace 是对一组资源和对象的抽象集合。

用于将系统内部的对象划分为不同的项目组或用户组。
常见的 pods、services、replication controllers 和 deployments 等属于某个 namespace(默认是 default)。
15.1.6 Service
Service 是应用服务的抽象,通过 labels 为应用提供负载均衡和服务发现。

带名字的服务会映射到由标签选择器定义的一组动态 Pod 集。
集群中的任何容器都可以使用服务名访问服务。
每个 Service 会自动分配一个 cluster IP(仅在集群内部可访问的虚拟地址)和 DNS 名。
15.1.7 Label
Label 是用户附加到 Pod 的任意键值对。

用于识别 Kubernetes 对象,以 key/value 的方式附加到对象上。
Label 不提供唯一性,多个对象(如 Pods)可以使用相同的 label。
🛠️ 15.2 Kubernetes架构设计简介
Kubernetes整体架构由 控制面(Master)和 数据面(Worker Node)组成。
🚀 15.3 Kubernetes使用示例
15.3.1 启用Kubernetes
Docker Desktop 集成了 Kubernetes 功能,适合快速完成 Kubernetes 学习环境的搭建。
可通过官网下载最新版本进行安装或更新。
15.3.2 使用Kubernetes
集群启用后,Docker桌面应用的选项卡会有微小变化,表明Kubernetes集群已成功启动。
15.3.3 创建MySQL
在项目目录 k8s 下创建 mysql.yaml 文件。
15.3.4 使用命名空间部署MySQL
使用命名空间来管理和组织 MySQL 部署。

在这里插入图片描述

<think>好的,我现在需要解决用户的问题:Docker Desktop安装后缺少docker-desktop-data的问题。根据用户提供的引用内容,我需要综合这些信息来给出解决方案。 首先,用户提到安装后只有docker-desktop而没有docker-desktop-data,导致镜像丢失。引用[2]中用户遇到了类似的情况,发现docker-desktop-data处于stopped状态,而它负责管理镜像存储。引用[3]指出新版的Docker Desktop使用WSL2,数据卷的位置在\\wsl$\docker-desktop路径下。这可能意味着新版不再需要单独的docker-desktop-data分发,而是整合到docker-desktop中。但用户的问题可能出现在旧版安装或配置错误的情况下。 接下来,引用[4]提到WSL分发异常时的解决方法,包括注销旧的分发并重启。这可能适用于docker-desktop-data未能正确创建的情况。因此,可能的解决步骤是:先尝试完全卸载Docker Desktop和相关的WSL分发,然后重新安装,确保安装过程中WSL2配置正确。 另外,用户可能使用的是旧版安装方式(如.exe文件安装),而引用[1]提到不推荐这种方式,建议使用WSL2后端安装。所以需要确认用户是否按照推荐方式安装,并检查系统是否满足WSL2的要求,比如启用虚拟化和安装WSL2内核更新。 综合以上信息,解决方案应包括以下步骤:检查WSL状态,完全卸载现有Docker及相关分发,重新安装Docker Desktop并确保使用WSL2后端,验证数据卷位置是否正确。同时,需要提醒用户在重新安装前备份数据,以防数据丢失。 最后,生成相关问题,帮助用户进一步处理可能遇到的类似问题,如数据恢复、迁移存储位置等。</think>### 解决方案:Docker Desktop缺少docker-desktop-data的修复步骤 #### 1. 检查WSL状态并注销残留分发 打开PowerShell(管理员权限),执行以下命令: ```powershell wsl --list -v ``` 若列表中**仅有`docker-desktop`而无`docker-desktop-data`**,说明WSL分发未正确初始化。需手动注销旧配置: ```powershell wsl --unregister docker-desktop wsl --unregister docker-desktop-data # 若存在则执行 ``` #### 2. 完全卸载Docker Desktop - 通过Windows控制面板卸载Docker Desktop - 删除残留文件(路径参考): ```powershell rm -r $env:USERPROFILE/.docker rm -r $env:PROGRAMFILES/Docker ``` #### 3. 安装新版Docker Desktop(强制使用WSL2后端) 1. 从官网下载最新安装包[^1] 2. 安装时勾选**Use WSL 2 instead of Hyper-V** 3. 安装完成后**不要立即启动**,先配置WSL默认版本: ```powershell wsl --set-default-version 2 ``` #### 4. 初始化数据卷存储 首次启动Docker Desktop时,会自动创建以下WSL分发: ``` docker-desktop # 核心服务 docker-desktop-data # 镜像/卷存储(自动挂载为虚拟硬盘) ``` 验证存储位置: ```powershell wsl -d docker-desktop -e ls /mnt/wsl/docker-desktop-disk/data ``` 正常应显示`volumes`、`images`等目录[^3]。 #### 5. 异常处理:手动挂载数据卷 若仍无法识别数据卷,尝试以下命令: ```powershell wsl --import docker-desktop-data "D:\docker-data" $env:USERPROFILE\AppData\Local\Docker\wsl\data\docker-desktop-data.tar ``` (路径`D:\docker-data`可自定义为其他分区[^3]) --- ### 关键原理 新版Docker Desktop将`docker-desktop-data`整合到WSL2虚拟硬盘(`.vhdx`文件)中,默认路径为: ``` \\wsl$\docker-desktop\mnt\docker-desktop-disk\data ``` 通过WSL2的动态扩容机制管理存储,不再依赖独立的分发实例[^3][^4]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值