Geo*_*nos 236 docker kubernetes docker-compose
虽然潜入Docker,Google Cloud和Kubernetes,但还没有清楚地理解它们中的所有三个,在我看来这些产品是重叠的,但它们不兼容.
例如,需要重新编写docker-compose文件,以便可以将应用程序部署到Kubernetes.
有人可以提供一个高级粗略描述Docker,Docker-Compose,Docker Cloud和Kubernetes重叠的位置以及哪一个依赖于另一个?
yam*_*enk 346
Docker:
Docker是一种容器技术,可以让您容纳应用程序.Docker是使用其他技术的核心.
Docker撰写:
允许配置和启动多个docker容器.当您想要启动多个docker容器并且不想单独启动每个Docker容器时,这主要用作帮助程序docker run ...
.Docker compose用于在同一主机上启动容器.
Docker Swarm:
Docker swarm用于在多个主机上运行和连接容器.Docker swarm是一个容器集群管理和编排工具.它管理在多个主机上运行的容器,并执行诸如扩展,在一个崩溃时启动新容器,网络容器......
Docker swarm是生产中的码头工人.它是嵌入在Docker引擎中的本机 docker 编排工具.
名为stack file的docker swarm文件与docker compose文件非常相似.
Kubernetes:
由Google开发的容器编排工具.Kubernetes的目标与Docker swarm的目标非常相似.
Docker Cloud:
一种付费企业docker服务,允许您在云服务器或本地服务器上构建和运行容器.它提供了一个Web UI和一个中央控制面板来运行和管理容器,同时在用户友好的Web界面中提供所有docker功能.
更新:
Docker Cloud上提供应用程序,节点和群集集群管理的服务将于5月21日关闭......自动构建和注册表存储服务将不会受到影响并将继续提供
tgo*_*gos 105
除了@ yamenk的回答之外,我还想在这里添加一些细节,这可能有助于人们了解Kubernetes的历程.
docker-compose
:是一个工具,它接受描述您的多容器应用程序的YAML文件,并帮助您创建,启动/停止,删除所有这些容器,而无需docker ...
为每个容器键入多个命令.Kubernetes
:是一个用于管理容器化工作负载和服务的平台,它有助于声明性配置和自动化.什么?继续阅读...(来自文档):Compose是一个用于定义和运行多容器Docker应用程序的工具.使用Compose,您可以使用YAML文件来配置应用程序的服务.然后,使用单个命令,您可以从配置中创建并启动所有服务.
Compose具有管理应用程序整个生命周期的命令:
- 启动,停止和重建服务
- 查看正在运行的服务的状态
- 流式传输运行服务的日志输出
- 在服务上运行一次性命令
(来自Kubernetes简介):Kubernetes是一个容器协调者,如Docker Swarm,Mesos Marathon,Amazon ECS,Hashicorp Nomad.容器协调器是将主机组合在一起以形成集群的工具,并帮助我们确保应用程序:
- 是容错的,
- 可以扩展,并按需执行此操作
- 最佳地使用资源
- 可以自动发现其他应用程序,并相互通信
- 可以从外部世界访问
- 可以在没有任何停机的情况下更新/回滚.
很多人认为Kubernetes很难学.这是因为它解决了一系列问题,人们在不知道所有先决条件的情况下试图理解.这使它变得复杂.通过阅读以下概念/术语,开始将拼图的各个部分放在一起.这个过程将帮助您了解Kubernetes试图解决的问题类型:
并且因为容器及其管理有很多不同的东西,所以请关注Cloud Native格局:
交互式版本:landscape.cncf.io/
小智 76
如果您是同一主机内的网络容器,请使用docker compose。
如果您是跨多个主机的网络容器,请选择kubernetes。
第一个区别是容器引擎和容器协调器之间.
docker
是一个容器引擎,它使您在PC上本地构建和运行通常最多不超过一个容器用于开发目的.
docker-compose
是一个Docker实用程序,用于运行多个容器,让它们通过docker引擎功能共享卷和网络,在本地运行以模拟服务组合和远程群集.
Kubernetes是一个容器编排平台,它负责运行容器并增强引擎功能,以便容器可以组合和扩展以服务于复杂的应用程序(由您或云提供商管理的PaaS).主要的Kubernetes功能是使用容器将应用程序与应用程序分离,并且它也可以用于Docker的其他引擎,例如它可以使用rkt或cri-o运行容器.
Docker云也是一种PaaS产品,可让您通过docker
引擎API 运行和编排容器.
现在,根据您的需求,对基础架构和目标受众的控制级别,您可以使用裸机上的Kubernetes,或Azure ACS或Google GKE等...
希望这有帮助:)问候
Docker Compose不是生产就绪工具。它非常适用于 PoC 或开发环境,但缺乏许多功能,这些功能或多或少是严肃生产使用的赌注。Swarm 更适合生产,但我永远不会在绿地场景中投资 Swarm。Kubernetes 赢得了编排之战,这可以从它被纳入 Docker Desktop 并由所有主要云提供商提供的证明。Kubernetes 的功能要强大得多,并且拥有更多的社区和企业支持。
我建议深入研究 Pluralsight、Linux Academy 等提供的一些 Kubernetes 教程,并启动一个集群以在您选择的云平台(EKS、AKS、GKE 等)中使用。如果您尝试在裸机上启动,请查看 OpenShift,但要认识到在此设置中您失去了 Kubernetes 的一些魔力。
归档时间: |
|
查看次数: |
43623 次 |
最近记录: |