Docker Compose和Kubernetes有什么区别?

9 浏览
0 Comments

Docker Compose和Kubernetes有什么区别?

在深入学习Docker、Google Cloud和Kubernetes时,尽管我还没有完全理解它们三者的关系,但它们似乎有重叠之处,却不兼容。例如,需要重新编写docker-compose.yml文件才能将应用程序部署到Kubernetes中。有人能够提供高层次、大致的描述,说明Docker、Docker Compose、Docker Cloud和Kubernetes之间的重叠和依赖关系吗?

admin 更改状态以发布 2023年5月21日
0
0 Comments

除了 @yamenk 的答案之外,我想在这里添加一些细节,这些细节可能有助于人们了解 Kubernetes。

简短的回答:

  • docker-compose:是一个工具,它接受描述您的多容器应用程序的 YAML 文件,并帮助您创建、启动/停止、删除所有这些容器,而不必为每个容器键入多个docker ... 命令。
  • Kubernetes:是一个用于管理容器化工作负载和服务的平台,既支持声明式配置,又支持自动化。是什么? 继续阅读...

Docker Compose

(来自文档):Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。使用 Compose,您可以使用 YAML 文件配置您的应用程序的服务。然后,使用单个命令,您可以根据配置创建并启动所有服务。
Compose 具有用于管理应用程序整个生命周期的命令:

  • 启动、停止和重新构建服务
  • 查看正在运行服务的状态
  • 流式传输正在运行服务的日志输出
  • 在服务上运行一次性命令

Kubernetes

(来自Kubernetes 简介):Kubernetes 是一个容器编排器,就像 Docker Swarm、Mesos Marathon、Amazon ECS、Hashicorp Nomad。容器编排器是将主机组成集群的工具,帮助我们确保应用程序:

  • 具有容错能力,
  • 能够按需扩展
  • 充分利用资源
  • 能够自动发现其他应用程序,并相互通信
  • 能够从外部世界访问
  • 可以在没有任何停机时间的情况下更新/回滚。

许多人认为Kubernetes很难学。这是因为它解决了一系列的问题,并且人们在不知道所有先决条件的情况下尝试理解。这让它变得复杂。通过阅读以下概念/术语,开始将拼图的各个部分放在一起,这个过程将帮助你理解Kubernetes尝试解决的问题类型:

  • 12因素应用程序,
  • 自动的绑定,
  • 自我修复机制,
  • 水平扩展,
  • 服务发现和负载均衡,
  • 自动部署和回滚
  • 蓝绿部署/金丝雀部署
  • 机密和配置管理,
  • 存储编排

由于容器和其管理有许多不同的事情,因此要关注云本地景观:

交互式版在此处:landscape.cncf.io/

enter image description here

更新

2020年5月:Docker Compose规范现在是一个开放标准

与AWS、微软和其他开源社区合作,我们扩展了Compose规范,以支持诸如Kubernetes和Amazon ECS之类的云本地平台,除了现有的Compose平台。更多信息请参见:博客 / compose-spec.io

请忽略本文,因为本文为空。

0
0 Comments

输出内容缺失

0