当前位置:首页 > 容器技术 > 正文

容器技术三大核心


一、docker、docker-compose、dockerswarm和k8s的区别

Docker所扮演的角色很容易理解。它是一个容器引擎,这意味着我们的容器实际上最终是由Docker创建并在Docker中运行的。其他相关的容器技术都是基于Docker。,这是我们如何使用其他容器技术的核心。

Docker-Compose用于管理容器,有点像容器管理器。想象一下,您的Docker中有成百上千个容器需要启动。如果你一一开始,时间就太多了。使用Docker-Compose,你只需要写一个文件,在这个文件中声明要启动的容器,配置一些参数,执行该文件,Docker就会根据你声明的配置启动所有容器。docker-composeup可以启动所有容器,但是Docker-Compose只能管理当前主机上的Docker,这意味着它无法启动其他主机上的Docker容器

DockerSwarm是一个管理多个容器的工具。主机上的Docker容器工具可以负责帮助你启动容器并监控容器的状态。如果容器的状态出现异常,它会帮你重启一个新的容器来提供服务,同时也提供服务之间的负载。平衡,这是Docker-Compose做不到的。

Kubernetes本身的作用和DockerSwarm是一样的,也就是说他们负责的工作是容器领域的同一个部分。两者都是跨主机容器管理平台。当然,它们也有一些不同的特点。K8s是Google基于多年运维经验开发的容器管理平台。DockerSwarm是由Docker公司开发的。

由于这两件事是相同的,所以我们面临着选择的问题。我们应该学习哪些技术?事实上,Kubernetes这两年已经成为很多大公司默认使用的容器管理技术。DockerSwarm在这与Kubernetes的竞争中逐渐失势,现在容器管理领域已经开始逐渐被Kubernetes占据主导地位。所以建议大家在学习的时候,要考虑这个技术是否被业内很多人使用。

需要说明的是,虽然DockerSwarm在与Kubernetes的竞争中落败,但这与Docker这个容器引擎无关。它仍然是整个容器领域技术的基石。没有它,Kubernetes能做什么?两者都不。

总结
Docker是容器技术的核心和基础。DockerCompose是一个基于Docker的单主机容器编排工具。而且k8s是一个跨主机集群部署工具,其功能不像DockerSwarm和Kubernetes是基于Dcoker的跨主机容器管理平台。