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_云计算技术简述的更多相关文章

  1. 云计算 --> 技术原理

    云计算技术原理 云计算分为IaaS.PaaS和SaaS三种类型,不同的厂家又提供了不同的解决方案,目前还没有一个统一的技术体系结构,下图是一个供商榷的云计算体系结构如下,它概括了不同解决方案的主要特征 ...

  2. [转帖]腾讯云TStack获下一代云计算技术创新奖 与鲲鹏等产品实现兼容性测试

    http://www.techweb.com.cn/cloud/2019-12-16/2769286.shtml [TechWeb]12 月 16 日消息,在中国电子技术标准化研究院主办的“第九届中国 ...

  3. PLUTO平台是由美林数据技术股份有限公司下属西安交大美林数据挖掘研究中心自主研发的一款基于云计算技术架构的数据挖掘产品,产品设计严格遵循国际数据挖掘标准CRISP-DM(跨行业数据挖掘过程标准),具备完备的数据准备、模型构建、模型评估、模型管理、海量数据处理和高纬数据可视化分析能力。

    http://www.meritdata.com.cn/article/90 PLUTO平台是由美林数据技术股份有限公司下属西安交大美林数据挖掘研究中心自主研发的一款基于云计算技术架构的数据挖掘产品, ...

  4. IBM推出新一代云计算技术来解决多云管理

    IBM 云计算论坛在南京举行,推出了一项全新的开放式技术,使用户能够更加便捷地跨不同云计算基础架构来管理.迁移和整合应用. IBM 多云管理解决方案(Multicloud Manager)控制面板 据 ...

  5. 你真正的了解Ajax?Ajax技术简述

    Ajax技术是目前在浏览器中通过JavaScript脚本可以使用的所有技术的集合.Ajax并没有创造出某种具体的新技术,它所使用的大多数技术都是在很多年以前就已经存在了,然而Ajax以一种崭新的方式来 ...

  6. NLP+词法系列(二)︱中文分词技术简述、深度学习分词实践(CIPS2016、超多案例)

    摘录自:CIPS2016 中文信息处理报告<第一章 词法和句法分析研究进展.现状及趋势>P4 CIPS2016 中文信息处理报告下载链接:http://cips-upload.bj.bce ...

  7. 【大数据和云计算技术社区】分库分表技术演进&最佳实践笔记

    1.需求背景 移动互联网时代,海量的用户每天产生海量的数量,这些海量数据远不是一张表能Hold住的.比如 用户表:支付宝8亿,微信10亿.CITIC对公140万,对私8700万. 订单表:美团每天几千 ...

  8. Ubuntu中输入输出重定向及管道技术简述

    输出 1.标准输出 定义:程序在默认情况下输出结果的地方(stdout). 2.输出重定向 定义:用于把数据的输出转移到另一个地方去. 3.Ubuntu中例子 $ls > ~/ls_out  # ...

  9. GIS+=地理信息+云计算技术——Spark集群部署

    第一步:安装软件         Spark 1.5.4:wget http://www.apache.org/dyn/closer.lua/spark/spark-1.5.2/spark-1.5.2 ...

随机推荐

  1. 分布式存储ceph--osd故障硬盘更换(6)

    正常状态:

  2. JAVA RMI分布式原理和应用

    RMI(Remote Method Invocation)是JAVA早期版本(JDK 1.1)提供的分布式应用解决方案,它作为重要的API被广泛的应用在EJB中.随着互联网应用的发展,分布式处理任务也 ...

  3. go 语言 interface{} 的易错点

    一,interface 介绍 如果说 goroutine 和 channel 是 go 语言并发的两大基石,那 interface 就是 go 语言类型抽象的关键.在实际项目中,几乎所有的数据结构最底 ...

  4. Java集合(0):概述

    下面是一个Java集合的简化图,我们可以看出,集合分Collection和Map两大部分: 接下来分别以下面几个章节介绍Java集合: Java集合(1):Collections工具类中的static ...

  5. 增强for循环的简单总结

    整体来说:增强型for循环使用起来比较方便,代码也比较简单,如果只是操作集合中元素的而不使用索引的话,建议用此方法.对于普通for循环,如果需要使用索引进行其它操作的话,建议用这个. 详细来说:1,区 ...

  6. 前端面试经典题之apply与call的比较

    在讲apply和call之前,我们需要先清楚在js中,this指向的是什么. 大家可以参考一下阮一峰老师写的关于JavaScript中this的原理讲解文章:http://www.ruanyifeng ...

  7. Shell中test比较

    数字比较 比较 描述 -eq 检查是否相等 -ge 检查是否大于或等于 -gt 检查是否大于 -le 检查是否小于或者等于 -lt 检查是否小于 -ne 检查是否不等于 字符串比较 = 检查字符串1和 ...

  8. Navicat Premium12 注册机下载及教程

    1.下载Navicat Premium 官网https://www.navicat.com.cn/下载最新版本下载安装(文末,网盘地址有64位安装包和注册机下载) 2.激活Navicat Premiu ...

  9. mac docker --net=host

    Docker 中的 host 模式指定是容器与主机享受相同的 network namespace. host 模式设计出来就是为了性能,但是这却对 docker 的隔离性造成了破坏,导致安全性降低. ...

  10. 腾讯云CentOS 7搭建简单Tomcat+nginx集群

    1.安装Tomcat 进入 /usr/local/ 目录 cd /usr/local 下载 wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v ...