Docker_云计算技术简述
Docker官方网站 > https://www.docker.com/
Docker博客 > https://www.docker.com/blog/
Docker内容库 > https://www.docker.com/resources
containerd > https://containerd.io/
容器化/容器式入门 > https://containerd.io/docs/getting-started/
什么是Docker
1.起源
Docker 是 PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源。
Docker自2013年以来非常火热,无论是从 github 上的代码活跃度,还是Redhat在RHEL6.5中集成对Docker的支持, 就连 Google 的 Compute Engine 也支持 docker 在其之上运行。
一款开源软件能否在商业上成功,很大程度上依赖三件事 - 成功的 user case(用例), 活跃的社区和一个好故事。
dotCloud 之家的 PaaS 产品建立在docker之上,长期维护且有大量的用户,社区也十分活跃,接下来我们看看docker的故事
2.将软件打包到标准化单元中,以进行开发,运输和部署为Docker核心
容器是打包代码及其所有依赖项的软件的标准单元,因此应用程序可以从一个计算环境快速可靠地运行到另一个计算环境。
Docker容器映像是轻巧的,独立的,可执行的软件软件包,其中包含运行应用程序所需的一切:代码,运行时,系统工具,系统库和设置。
容器映像在运行时成为容器,对于Docker容器,映像在容器Docker Engine上运行时成为容器。
不论基础架构如何,容器化软件都可用于基于Linux和Windows的应用程序,始终运行相同。容器将软件与其环境隔离开来,并确保尽管开发和登台之间存在差异,但软件仍可以均匀运行。
在Docker Engine上运行的Docker容器:
标准: Docker创建了容器的行业标准,因此它们可以在任何地方移植
轻量级:容器共享计算机的OS系统内核,因此不需要每个应用程序都具有OS,从而提高了服务器效率并降低了服务器和许可成本
安全:容器中的应用程序更安全,Docker提供了业界最强大的默认隔离功能
3.Docker容器无处不在:Linux,Windows,数据中心,云,无服务器等
Docker容器技术于2013年作为开源Docker Engine推出。
它利用了围绕容器的现有计算概念,特别是在Linux世界中,这些原始概念被称为cgroups和命名空间。
Docker的技术之所以独特是因为它专注于开发人员和系统操作员的需求,以将应用程序依赖项与基础架构分开。
Linux世界的成功推动了与Microsoft的合作,将Docker容器及其功能引入Windows Server(有时也称为Docker Windows容器)。
可以从Docker及其开源项目获得的技术Moby已被所有主要数据中心供应商和云提供商所利用。
这些提供商中有许多正在利用Docker来提供其容器原生的IaaS产品。
此外,领先的开源无服务器框架利用Docker容器技术。
4.Docker容器无处不在:Linux,Windows,数据中心,云,无服务器等。
Docker容器技术于2013年作为开源Docker Engine推出。
它利用了围绕容器的现有计算概念,特别是在Linux世界中,这些原始概念被称为cgroups和命名空间。
Docker的技术之所以独特是因为它专注于开发人员和系统操作员的需求,以将应用程序依赖项与基础架构分开。
Linux世界的成功推动了与Microsoft的合作,将Docker容器及其功能引入Windows Server(有时也称为Docker Windows容器)。
可以从Docker及其开源项目获得的技术Moby已被所有主要数据中心供应商和云提供商所利用。
这些提供商中有许多正在利用Docker来提供其容器原生的IaaS产品。此外,领先的开源无服务器框架利用Docker容器技术。
5.比较容器和虚拟机
容器和虚拟机具有相似的资源隔离和分配优势,但功能不同,因为容器虚拟化了操作系统,而不是硬件。容器更加便携和高效。
货柜
容器是应用程序层的抽象,将代码和依赖项打包在一起。
多个容器可以在同一台计算机上运行,并与其他容器共享OS内核,每个容器在用户空间中作为隔离的进程运行。
容器占用的空间少于VM(容器映像的大小通常为几十MB),可以处理更多的应用程序,并且需要的VM和操作系统更少。
虚拟机器
虚拟机(VM)是将一台服务器转变为多台服务器的物理硬件的抽象。
虚拟机管理程序允许多个VM在单台计算机上运行。
每个VM包含操作系统,应用程序,必要的二进制文件和库的完整副本-占用数十GB。VM也可能启动缓慢。
容器和虚拟机一起
一起使用的容器和VM在部署和管理应用程序时提供了很大的灵活性。
6.集装箱标准与行业领导
Docker在2013年的发布极大地推动了应用程序开发的革命-通过使软件容器民主化。
Docker开发了一种Linux容器技术-一种可移植,灵活且易于部署的技术。
Docker开源libcontainer,并与世界各地的贡献者社区合作,以促进其发展。
2015年6月,Docker向开放容器倡议(OCI)捐赠了容器映像规范和现在称为Runc的运行时代码,以帮助随着容器生态系统的发展和成熟建立标准化。
随着这种发展,Docker继续回馈容器化项目,该项目在Docker于2017年捐赠给了Cloud Native Computing Foundation(CNCF)。
containerd是利用runc的行业标准容器运行时,其着重于简单性,健壮性和便携性。
containerd是Docker Engine的核心容器运行时。
7.Docker引擎引发了容器化运动
Docker Engine是业界事实上的容器运行时,可在各种Linux(CentOS,Debian,Fedora,Oracle Linux,RHEL,SUSE和Ubuntu)和Windows Server操作系统上运行。
Docker创建了简单的工具和通用打包方法,将所有应用程序依赖项捆绑在一个容器中,然后在Docker Engine上运行。
Docker Engine使容器化的应用程序能够在任何基础架构上一致地运行,从而为开发人员和运营团队解决了“依赖地狱”,并消除了“可在我的笔记本电脑上工作的”问题。
8.containerd
截至2019年2月28日,容器技术是Cloud Native Computing Foundation中正式毕业的项目,紧随Kubernetes, Prometheus,Envoy和 CoreDNS之后。
containerd可用作Linux和Windows的守护程序。
它管理着整个主机系统的整个容器生命周期,从图像传输和存储到容器执行和监督,再到低级存储再到网络附件等等。
Docker企业版3.0
业界领先的企业容器平台
Docker Enterprise是大规模使用容器和Kubernetes的最简单,最快的方法,并为现代应用程序提供了最快的生产时间,可从混合云到边缘安全地运行它们。
Docker_云计算技术简述的更多相关文章
- 云计算 --> 技术原理
云计算技术原理 云计算分为IaaS.PaaS和SaaS三种类型,不同的厂家又提供了不同的解决方案,目前还没有一个统一的技术体系结构,下图是一个供商榷的云计算体系结构如下,它概括了不同解决方案的主要特征 ...
- [转帖]腾讯云TStack获下一代云计算技术创新奖 与鲲鹏等产品实现兼容性测试
http://www.techweb.com.cn/cloud/2019-12-16/2769286.shtml [TechWeb]12 月 16 日消息,在中国电子技术标准化研究院主办的“第九届中国 ...
- PLUTO平台是由美林数据技术股份有限公司下属西安交大美林数据挖掘研究中心自主研发的一款基于云计算技术架构的数据挖掘产品,产品设计严格遵循国际数据挖掘标准CRISP-DM(跨行业数据挖掘过程标准),具备完备的数据准备、模型构建、模型评估、模型管理、海量数据处理和高纬数据可视化分析能力。
http://www.meritdata.com.cn/article/90 PLUTO平台是由美林数据技术股份有限公司下属西安交大美林数据挖掘研究中心自主研发的一款基于云计算技术架构的数据挖掘产品, ...
- IBM推出新一代云计算技术来解决多云管理
IBM 云计算论坛在南京举行,推出了一项全新的开放式技术,使用户能够更加便捷地跨不同云计算基础架构来管理.迁移和整合应用. IBM 多云管理解决方案(Multicloud Manager)控制面板 据 ...
- 你真正的了解Ajax?Ajax技术简述
Ajax技术是目前在浏览器中通过JavaScript脚本可以使用的所有技术的集合.Ajax并没有创造出某种具体的新技术,它所使用的大多数技术都是在很多年以前就已经存在了,然而Ajax以一种崭新的方式来 ...
- NLP+词法系列(二)︱中文分词技术简述、深度学习分词实践(CIPS2016、超多案例)
摘录自:CIPS2016 中文信息处理报告<第一章 词法和句法分析研究进展.现状及趋势>P4 CIPS2016 中文信息处理报告下载链接:http://cips-upload.bj.bce ...
- 【大数据和云计算技术社区】分库分表技术演进&最佳实践笔记
1.需求背景 移动互联网时代,海量的用户每天产生海量的数量,这些海量数据远不是一张表能Hold住的.比如 用户表:支付宝8亿,微信10亿.CITIC对公140万,对私8700万. 订单表:美团每天几千 ...
- Ubuntu中输入输出重定向及管道技术简述
输出 1.标准输出 定义:程序在默认情况下输出结果的地方(stdout). 2.输出重定向 定义:用于把数据的输出转移到另一个地方去. 3.Ubuntu中例子 $ls > ~/ls_out # ...
- GIS+=地理信息+云计算技术——Spark集群部署
第一步:安装软件 Spark 1.5.4:wget http://www.apache.org/dyn/closer.lua/spark/spark-1.5.2/spark-1.5.2 ...
随机推荐
- openstack核心组件--horizon web管理界面(5)
一.horizon 介绍: 理解 horizon Horizon 为 Openstack 提供一个 WEB 前端的管理界面 (UI 服务 )通过 Horizone 所提供的 DashBoard 服务 ...
- 安装k8s-1master多node节点
卸载比较新的18.3版本,安装17.03版本 删除旧版本 sudo yum remove docker \ docker-client \ docker-client-latest \ docker- ...
- PO BAPI "BAPI_PO_CREATE1"
DATA: poheader LIKE bapimepoheader, poheaderx LIKE bapimepoheaderx, poitem LIKE ...
- Git学习教程三之分支管理
实战流程: 1:代码库克隆一份至本地 2:新分支操作 2.1 在需要的文件中创建并指向新的分支方便写代码 git checkout -b <name> 2 ...
- cmake 在mac系统的安装
CMake是一个比make更高级的跨平台的安装.编译.配置工具,可以用简单的语句来描述所有平台的安装(编译过程).并根据不同平台.不同的编译器,生成相应的Makefile或者project文件.本文主 ...
- IO模型,非阻塞IO模型,select实现多路复用
1. IO阻塞模型 IO问题: 输入输出 我要一个用户名用来执行登陆操作,问题用户名需要用户输入,输入需要耗时, 如果输入没有完成,后续逻辑无法继续,所以默认的处理方式就是 等 将当前进程阻塞住,切换 ...
- 【C/C++开发】try-cache-finnally捕获异常
在c++中,可以直接抛出异常之后自己进行捕捉处理,如:(这样就可以在任何自己得到不想要的结果的时候进行中断,比如在进行数据库事务操作的时候,如果某一个语句返回SQL_ERROR则直接抛出异常,在cat ...
- Centos 7 忘记密码的情况下,修改root密码
应用场景 linux管理员忘记root密码,需要进行找回操作. 注意事项:本文基于centos7.4环境进行操作,由于centos的版本是有差异的,继续之前请确定好版本 操作步骤 一.重启系统,在开机 ...
- PHP读取TXT中文乱码的解决方法
//$fname文件名称 if ($fname = $_FILES['nickname']['tmp_name']) { //file_get_contents() 函数把整个文件读入一个字符串中. ...
- 使用Java实现hello/hi的简单网络聊天程序
Socket又称套接字,是基于应用服务与TCP/IP通信之间的一个抽象,它是计算机之间进行通信的一种约定或一种方式.通过socket这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送 ...