Docker比虚拟机更实用@Docker技术:定义,组成和工具
Docker是属于平台即服务paas的一系列产品, 使用操作系统级别的虚拟技术在容器内提供软件应用。
容器之间是互相隔离的,他们有独自的软件程序库和配置文件。容器之间可以通过定义好的渠道进行通信。所有的容器被单一的操作系统内核管理和运行,因此他们比虚拟机使用更少的资源。
Docker服务有免费的和收费的版本。用来管理容器的软件称之为docker engine。
Docker技术可以把一个应用和它的附属程序包打包在一个虚拟容器中,并可以运行在任何的Linux服务器上。
这就大大提高了程序运行的灵活性和可移植性,可以使它们运行在不同的场景下,可以在公有云上,也可以在私有云上或者在本地。
Docker使用的是Linux内核中的资源分离功能, 比如cgroups和内核命名空间, 其支持联合的文件系统,比如overly fs。这样做可以使多个容器运行在单一的Linux实力上,从而避免了启动和管理虚拟机的麻烦。因为Docker容器很轻便, 一台服务器或者虚拟机可以运行同步多个容器。
Linux内核方面的命名空间的支持可以在操作环境下隔离应用的视图,这包括进程树,网络,用户的ID和加载的文件系统。内核的cgroups对内存和CPU进行资源的限制。
Docker技术作为一项服务,包括下面三个部分:
一是软件。dockerd, 是Docker的守护进程。docker, 是Docker的客户端, 提供了命令行界面与Docker的守护进程进行交互。
二是对象。Docker的主要对象有镜像,容器和服务。
容器是标准化的封装环境,用来运行应用程序。通过Docker API或者cli进行管理。
镜像是只读的模板,用来创建容器,镜像用来存储和发布应用的。
服务允许容器在多个Docker守护进程之间进行扩展。其结果称之为一个swam, 是一系列的合作守护进程,他们通过Docker API进行通信。
三是注册仓。注册仓用来拉取镜像。注册仓可以是公有的,也可以是私有的,两个主要的共有注册仓是docker hub和docker cloud。其中dockee hub是缺省的。注册仓允许创建基于事件的提示。
在使用Docker的过程中,我们可能会用到如下的工具:
Docker Compose 是一个用来定义和运行多个容器应用的工具。它使用yaml文件来配置应用服务,可以通过一个命令来创建以及启动所有的容器。是管理Docker容器的本地常用工具。
Docker Swarm是一款用来管理多主机上的Docker容器工具。他可以负责启动容器,监控容器状态,服务之间的负载均衡。
Kubernetes角色定位跟Docker swarm类似。但是他比后者具有更好的性能和智能化的管理机制。这些机制包括快速部署功能,智能的缩扩容机制,自愈功能,智能的负载均衡,智能的滚动升级。
- 点赞
- 收藏
- 关注作者
评论(0)