【原创分享】容器专题分享系列一:容器知识科普
  

不懂就问 45733人觉得有帮助

{{ttag.title}}



一、写在前面
       深信服云管平台aCMP从6.0.13版本开始支持容器云服务,正式进军PaaS层云平台。可以提供企业级容器PaaS平台,界面化的容器管理,服务编排;提供微服务治理平台,支持主流微服务框架;提供开发运维一体化平台,支持可视化可定制的开发测试流水线任务。
       容器技术对许多小伙伴还是很陌生的,为了方便大家学习相关知识,能够更好的使用深信服容器云平台,近期将开展一个容器知识分享专题,和大家一起学习。本专题不限于理论分享,后面应该会有一些实验。

二、传统PaaS项目的痛点
       我们在了解容器是什么前,先要了解当前PaaS层项目中主要遇到的痛点,即为什么需要容器。
       PaaS项目中的打包系统实际是应用打包,因本地环境与云端环境不一致,用户须为每种语言、框架乃至每个版本的应用维护一个打好的包。而打包过程中,需要进行大量修改、配置、试错才能使本地应用运行环境和云端环境匹配。
       还有另一个痛点,传统业务系统部署在虚拟机内,每个虚拟机都有一个完整的操作系统,仅仅为了运行一个应用,需要加载完整的镜像;应用增多时,操作系统自身消耗的资源会增加
       一句话说就是:应用上云的过程很痛苦,传统虚拟化技术中操作系统的资源消耗大。容器正是解决该痛点应运而生的技术。它是一个轻量级的虚拟化技术,可以降低资源消耗,并且容器镜像可打包应用及其依赖,实现本地环境和云端环境的高度一致,打通应用从开发到测试之间的环境差异。

三、容器
      1、容器与Docker的关系
      说到容器,大家肯定会想到Docker,那么两者之间是什么关系呢?Docker 属于容器服务的一种,是一个开源的应用容器引擎。Docker 是 PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上,基于go语言并遵从 Apache2.0 协议开源。
      简单说,Docker和openstack一样,是一个开发项目,只不过被广泛使用以至于人们提到云平台操作系统就想到openstack,提到容器就想到Docker一样。
     2、Docker概念
      Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。
550115e683f1bab419.png
      3、容器VS虚拟机
      容器在Linux上本地运行,并与其他容器共享主机的内核。它运行一个离散进程,不占用任何其他可执行文件更多的内存,从而使其轻巧。
      对比之下,虚拟机(VM)运行的guest操作系统,并通过虚拟机监视器与虚拟资源管理软件对主机资源进行分配。通常,VM会产生大量开销,超出了应用程序实际上所消耗的开销。
      简单总结容器与虚拟机之间的区别:
973095df32dfe3aaf1.png 324945df32f3e4c71d.png
    4、Docker Engineer介绍
    我们平时谈论的Docker主要指容器引擎,即Docker engine。它是一个Client/Server架构的应用程序。Docker engine主要组件有3部分:服务端、客户端、API。
    服务端是一个长期运行的程序,称为daemon进程。Docker daemon用于创建个管理docker对象,如容器镜像、容器、网络、卷。
    客户端(docker CLI):我们可以通过CLI,使用D脚本或直接的CLI命令与Docker daemon交互。
    一个REST API:Client可以用它来与daemon进程通信交互,两者之间通信的桥梁。

372885df32fd84f1f6.png
    5、Docker的架构
    前面提到,Docker使用客户端-服务器架构。Docker 客户端与Docker 服务端进程进行对话。Docker客户端和守护程序可以在同一系统上运行,两者使用REST API进行通信。
    a)Docker Client:Docker Client一般通过Docker command来发起请求。在用户界面,支持用户与Docker Daemon之间通信。
    b)Docker daemon:功能就是接收客户端发来的请求,并实现请求所要求的功能,同时针对请求返回相应的结果。Docker daemon是驱动整个Docker功能的核心引擎。在功能的实现上,Docker daemon涉及了容器、镜像、存储等多方面的内容,涉及多个模块的实现和交互。
    c)Containers:
         容器以镜像为基础,同时又为镜像提供了一个标准和隔离的运行环境。
         Docker的容器就是“软件界的集装箱”,可以安装任意的软件和库文件,做任意的运行环境配置。开发及运维人员在转移和部署应用的时候,不需关心容器里装了什么软件,也不需了解它们是如何配置的。
    d)Docker Image:与容器相对应,如果说容器提供了一个完整的、隔离的运行环境,那么镜像则是这个运行环境的静态体现。
    e)Registry:一个存放镜像的仓库。Registry本身也是一个单独的开源项目,企业可使用Registry镜像搭建私有仓库。
510405df3312795586.png











打赏鼓励作者,期待更多好文!

打赏
8人已打赏

Sangfor_闪电回_朱丽 发表于 2019-12-16 10:14
  
您好,感谢您参与社区原创分享计划5,您的文章已被收录到计划中,交由专家评审小组评审,分享奖励将在活动结束后统一安排发放!分享越多,奖励越多,期待您更多的精彩分享哦!:感恩:
hzZ 发表于 2019-12-16 14:19
  
为楼主点赞,希望楼主多多分享干货!
新手780102 发表于 2019-12-17 09:29
  

12.12狂欢一周 +48 S豆 详情>

学到新技能,感谢
新手612152 发表于 2019-12-17 10:08
  
学到了,感谢
心灵鸡汤 发表于 2019-12-17 13:52
  
容器和虚拟化什么关系?
zjwshenxian 发表于 2019-12-17 20:51
  

学到新技能,感谢
新手981388 发表于 2019-12-18 23:38
  
这个概念不是很懂,多研究一下。
good_Knight 发表于 2019-12-21 16:36
  
楼主介绍了容器和docker的基本概念和基本框架,vm与容器的区别,使得大家对于容器有个初步的了解,也为后面使用acmp做容器云管理有个积累,点赞,可以多分享下呀
新手031815 发表于 2019-12-31 09:23
  
信息量太大,我要慢慢记下来
发表新帖
热门标签
全部标签>
每日一问
技术盲盒
技术笔记
每周精选
干货满满
技术咨询
标准化排查
产品连连看
信服课堂视频
自助服务平台操作指引
新版本体验
秒懂零信任
安装部署配置
GIF动图学习
功能体验
玩转零信任
通用技术
2023技术争霸赛专题
技术晨报
社区帮助指南
安全攻防
每日一记
深信服技术支持平台
天逸直播
华北区交付直播
畅聊IT
答题自测
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
上网策略
测试报告
日志审计
问题分析处理
流量管理
运维工具
云计算知识
用户认证
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
答题榜单公布
纪元平台
卧龙计划
华北区拉练
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV

本版版主

217
272
151

发帖

粉丝

关注

本版达人

皮皮虾·真

本周建议达人

郑州网络

本周分享达人

二进制网络

本周提问达人