Docker,Docker Compose,Docker Swarm,Kubernetes之间的区别

最近在学习Docker容器,了解到一些相关的技术,像是Kubernetes,Docker-compose,Docker Swarm,分不清这些东西之间的区别,特意去研究了一下,分享一下,适合刚入门学习容器的同学了解。

Dcoker
Docker 这个东西所扮演的角色,容易理解,它是一个容器引擎,也就是说实际上我们的容器最终是由Docker创建,运行在Docker中,其他相关的容器技术都是以Docker为基础,它是我们使用其他容器技术的核心。

Docker-Compose
Docker-Compose 是用来管理你的容器的,有点像一个容器的管家,想象一下当你的Docker中有成百上千的容器需要启动,如果一个一个的启动那得多费时间。有了Docker-Compose你只需要编写一个文件,在这个文件里面声明好要启动的容器,配置一些参数,执行一下这个文件,Docker就会按照你声明的配置去把所有的容器启动起来,但是Docker-Compose只能管理当前主机上的Docker,也就是说不能去启动其他主机上的Docker容器

Docker Swarm
Docker Swarm 是一款用来管理多主机上的Docker容器的工具,可以负责帮你启动容器,监控容器状态,如果容器的状态不正常它会帮你重新帮你启动一个新的容器,来提供服务,同时也提供服务之间的负载均衡,而这些东西Docker-Compose 是做不到的

Kubernetes
Kubernetes它本身的角色定位是和Docker Swarm 是一样的,也就是说他们负责的工作在容器领域来说是相同的部分,当然也有自己一些不一样的特点。这个就像是Eclipse和IDEA一样,也是一个跨主机的容器管理平台。它是谷歌公司根据自身的多年的运维经验研发的一款容器管理平台。而Docker Swarm则是由Docker 公司研发的。

既然这两个东西是一样的,那就面临选择的问题,应该学习哪一个技术呢?实际上这两年Kubernetes已经成为了很多大公司的默认使用的容器管理技术,而Docker Swarm已经在这场与Kubernetes竞争中已经逐渐失势,如今容器管理领域已经开始已经逐渐被Kubernetes一统天下了。所以建议大家学习的时候,应该多考虑一下这门技术在行业里面是不是有很多人在使用。

需要注意的是,虽然Docker Swarm在与Kubernetes的竞争中败下阵来,但是这个跟Docker这个容器引擎没有太大关系,它还是整个容器领域技术的基石,Kubernetes离开他什么也不是。

总结
Docker是容器技术的核心、基础,Docker Compose是一个基于Docker的单主机容器编排工具,功能并不像Docker Swarm和Kubernetes是基于Dcoker的跨主机的容器管理平台那么丰富。

原文地址:https://www.cnblogs.com/ExMan/p/12019481.html

时间: 2024-11-08 07:59:55

Docker,Docker Compose,Docker Swarm,Kubernetes之间的区别的相关文章

Docker Machine, Compose, and Swarm: How They Work Together

The three tools are now neatly packaged into what’s called the Docker Toolbox. Docker Machine1/ create Linux VMdocker-machine create --driver virtualbox containerhost or docker-machine create -d virtualbox local2/ open docker vm's interfaceeval "$(do

DCOS实践分享(2):基于Docker Compose和Swarm的Docker化之路

2016 年1 月 23 日,北京史上气温最低的一天. 在下午 1 点半的时候,由 DaoCloud 赞助的 2016 年度首次 Docker Meetup 准时开始. 在这次Meetup中,我分享了<基于Docker Compose和Swarm的Docker化之路> 下载链接 http://download.csdn.net/detail/popsuper1982/9544929

kubernetes 实战6_命令_Share Process Namespace between Containers in a Pod&amp;Translate a Docker Compose File to Kubernetes Resources

Share Process Namespace between Containers in a Pod how to configure process namespace sharing for a pod. When process namespace sharing is enabled, processes in a container are visible to all other containers in that pod. You can use this feature to

DOCKER 07:docker swarm

docker compose 主要用于单机容器编排,docker swarm 则用于跨主机容器编排. docker compose 需要单独下载执行脚本,docker swarm 系统自带无需安装. docker swarm 属于需要了解得东西,毕竟生产中大多选择还是 Kubernetes(K8S). 说明: 在 docker swarm 中包含了两个角色,Manager 和 Worker.Manager 是一个集群的核心,起着调度作用,建议部署多节点,且节点数量为奇数,防止脑裂. 在 Mnag

docker——三剑客之Docker swarm

Docker Swarm是Docker官方的三剑客项目之一,提供Docker容器集群服务,是Docker官方对容器云生态进行支持的核心方案.使用它,用户可以将多个Docker主机封装为单个大型的虚拟Docker主机,快速打造一套容器云平台. Docker Swarm是Docker公司推出的官方容器集群平台,基于Go语言实现.目前,包括Rackspace在内的许多平台都采用了Swarm,用户很容易在AWS等公有云平台使用Swarm. Swarm的前身是Beam项目和libswarm项目,首个正式版

Docker实践(六):Docker Swarm

环境说明: 主机名 操作系统版本 IP地址 docker版本 说明 manager Ubuntu 16.04.5 172.27.9.71 18.09.2 manager管理主机 work01 Ubuntu 16.04.5 172.27.9.75 18.09.2 worker主机01 work02 Ubuntu 16.04.5 172.27.9.76 18.09.2 worker主机02 本文所有测试都在Vmware虚拟机(版本为12.5.2)上完成ubuntu安装详见:Ubuntu16.04.5

Docker之Compose服务编排

Compose是Docker的服务编排工具,主要用来构建基于Docker的复杂应用,Compose 通过一个配置文件来管理多个Docker容器,非常适合组合使用多个容器进行开发的场景. 说明:Compose是Fig的升级版,Fig已经不再维护.Compose向下兼容Fig,所有fig.yml只需要更名为docker-compose.yml即可被Compose使用. 服务编排工具使得Docker应用管理更为方便快捷. Compose网站:https://docs.docker.com/compos

(转)Docker之Compose服务编排

转自:https://www.cnblogs.com/52fhy/p/5991344.html Compose是Docker的服务编排工具,主要用来构建基于Docker的复杂应用,Compose 通过一个配置文件来管理多个Docker容器,非常适合组合使用多个容器进行开发的场景. 说明:Compose是Fig的升级版,Fig已经不再维护.Compose向下兼容Fig,所有fig.yml只需要更名为docker-compose.yml即可被Compose使用. 服务编排工具使得Docker应用管理

Docker集群管理工具-Kubernetes部署记录

Kubernetes介绍 Kubernetes是Google开源的容器集群管理系统,是基于Docker构建一个容器的调度服务,提供资源调度.均衡容灾.服务注册.动态扩缩容等功能套件. Kubernetes提供应用部署.维护. 扩展机制等功能,利用Kubernetes能方便地管理跨机器运行容器化的应用,其主要功能如下: 1) 使用Docker对应用程序包装(package).实例化(instantiate).运行(run). 2) 将多台Docker主机抽象为一个资源,以集群的方式运行.管理跨机器