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的最简单,最快的方法,并为现代应用程序提供了最快的生产时间,可从混合云到边缘安全地运行它们。

原文地址:https://www.cnblogs.com/huixst/p/11646268.html