比虚拟机更实用的Docker技术:定义,组成和工具

举报
Jet Ding 发表于 2020/09/29 11:11:14 2020/09/29
【摘要】 Docker技术可以把一个应用和它的附属程序包打包在一个虚拟容器中,并可以运行在任何的Linux服务器上。

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 hubdocker cloud。其中dockee hub是缺省的。注册仓允许创建基于事件的提示。

在使用Docker的过程中,我们可能会用到如下的工具: 

Docker Compose是一个用来定义和运行多个容器应用的工具。它使用yaml文件来配置应用服务,可以通过一个命令来创建以及启动所有的容器。是管理Docker容器的本地常用工具

Docker Swarm是一款用来管理多主机上的Docker容器工具。他可以负责启动容器,监控容器状态,服务之间的负载均衡。

Kubernetes角色定位跟Docker swarm类似。但是他比后者具有更好的性能和智能化的管理机制。这些机制包括快速部署功能,智能的缩扩容机制,自愈功能,智能的负载均衡,智能的滚动升级。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。