docker和k8s区别详解

devtools/2025/3/20 4:11:23/

一、核心定位对比

维度DockerKubernetes (K8s)引用来源
核心功能容器引擎(构建、运行、分发容器)容器集群管理系统(编排、调度、扩展)[1][2][5]
抽象层级单机容器化技术跨主机集群管理平台[5][6]
技术目标解决应用环境一致性解决大规模容器运维复杂性[3][6]

二、功能差异对比

能力DockerKubernetes (K8s)
容器生命周期单容器启停、日志监控多容器自动化部署、滚动更新、回滚
资源调度手动分配资源动态调度(跨节点负载均衡)
扩展性手动扩缩容基于 CPU/内存的自动扩缩容
高可用性依赖外部工具实现内置 Pod 自愈、故障迁移机制
网络管理单机网络配置(如 Bridge 模式)跨节点网络策略、服务发现(如 DNS)
存储管理本地卷或简单挂载动态卷供给、分布式存储集成

引用来源:[5][6][7]


三、技术架构对比

1. Docker 架构
开发者 → Dockerfile → 构建镜像 → Docker Hub → 运行容器(单机)
  • 核心组件:Docker Engine(守护进程)、镜像仓库、容器运行时(containerd)。
  • 局限:缺乏跨节点调度、服务发现等集群能力[8][11]。
2. Kubernetes 架构
开发者 → Docker 镜像 → K8s 集群 → 调度 Pod → 跨节点部署 
  • 核心组件
    • Master 节点:API Server、Scheduler、Controller Manager。
    • Worker 节点:Kubelet(管理容器)、kube-proxy(网络代理)。
  • 扩展能力:通过 CRD(自定义资源)支持复杂业务场景[6][8]。

四、协作流程图

开发阶段:
[开发者] → Dockerfile → [构建镜像] → [推送至镜像仓库(如 Docker Hub)]部署阶段:
[K8s Master] → 拉取镜像 → [调度 Pod 到 Node] → [Kubelet 调用 Docker 启动容器]运维阶段:
[K8s 监控资源] → 自动扩缩容/故障恢复 → [更新容器状态]

五、适用场景对比

场景Docker 适用性K8s 适用性
本地开发✅ 快速构建测试环境❌ 过度复杂
微服务架构✅ 单服务容器化✅ 多服务编排、链路治理
大规模集群❌ 缺乏自动化管理✅ 自动化运维、跨云部署
CI/CD 流水线✅ 镜像打包✅ 集成蓝绿发布、金丝雀发布

引用来源:[2][5][7]


六、总结

  • 互补关系:Docker 是容器化基石,K8s 是上层编排工具,两者协同实现从开发到生产的全链路管理(例如:Docker 负责镜像,K8s 负责调度)[6][11]。

http://www.ppmy.cn/devtools/168527.html

相关文章

【面试中的分布式定时任务】

定时任务与分布式定时任务框架XXL-JOB详解 一、为什么需要定时任务? 定时任务在业务场景中非常常见,主要用于以下场景: 时间驱动处理: • 整点发送优惠券 • 每天更新收益 • 每天刷新标签数据和人群数据 批量处理数据&#xf…

A SURVEY ON POST-TRAINING OF LARGE LANGUAGE MODELS——大型语言模型的训练后优化综述——第一部分

arXiv 2025 摘要 大型语言模型(LLMs)的出现从根本上改变了自然语言处理,使其在从对话系统到科学研究的各个领域中变得不可或缺。然而,它们的预训练架构在特定情境下经常显示出局限性,包括有限的推理能力、伦理不确定…

docker 安装 nginx 部署Vue前端项目

1 安装 docker 安装docker详细步骤 安装docker报错解决方案 2 安装 nginx 2.1 拉取镜像 拉取1.18.0版本的镜像 docker pull nginx:1.18.0 查看镜像 2.2 创建实例并启动 创建并启动实例 # 随便启动一个nginx实例,只是为了复制出配置 docker run -p 80:80 --nam…

linux环境下快速输出电脑的系统/硬件/显卡/网络/已安装软件等信息

在Linux环境下,可以通过以下命令快速获取系统和硬件信息。最后将这些命令整合成一个脚本(如 sysinfo.sh),一键输出所有信息。 1. 系统信息 # 内核信息 uname -a# 发行版信息 lsb_release -a 2>/dev/null || cat /etc/*release…

【在数轴上找最优位置,使移动距离最短】

L1-4 破碎的心,无法挽回的距离 题目描述: YFffffff 最近在感情上遭受了失败,他的心也破碎成了n块碎片,散落在了数轴上的 n 个位置。 你是一个情感修复师,作为 YFffffff 的好友,你试图将这些破碎的心重新聚集到一个位…

matlab 控制系统GUI设计-PID控制超前滞后控制

1、内容简介 matlab164-控制系统GUI设计-PID控制超前滞后控制 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略

Matlab 风力发电机磁悬浮轴承模型pid控制

1、内容简介 略 Matlab 174-风力发电机磁悬浮轴承模型pid控制 可以交流、咨询、答疑 2、内容说明 磁悬浮轴承具有无接触、无摩擦、高速度、高精度、能耗低、不需要需润滑无油污染、可靠性高、寿命长和密封等一系列显著的优点。将磁悬浮技术应用于风力发电机中可以降低风机切入…

`FisherTrainer` 的自定义 `Trainer` 类:累积梯度的平方并求平均来近似计算 Fisher 信息矩阵

FisherTrainer 的自定义 Trainer 类:累积梯度的平方并求平均来近似计算 Fisher 信息矩阵 用于计算模型参数的 Fisher 信息矩阵的近似值 整体目标 Fisher 信息矩阵用于衡量模型参数的不确定性,其在优化问题中可以帮助我们更准确地更新模型参数,避免陷入局部最优。在代码中,…