ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

docker的基本概念

2020-02-10 18:36:03  阅读:277  来源: 互联网

标签:容器 虚拟化 基本概念 dotCloud Linux docker Docker


一、docker的基础介绍

1、docker发展历史

(1)Docker 是一个开放源代码软件项目,让应用程序部署在软件货柜下的工作可以自动化进行,借此在 Linux 操作系统上,提供一个额外的软件抽象层,以及操作系统层虚拟化的自动管理机制。 Docker 利用 Linux 核心中的资源分离机制,例如 cgroups,以及 Linux 核心名字空间,来创建独立的容器。

(2)Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

(3)docker诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在GitHub 上进行维护。

(4)docker 自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker Inc。Redhat 已经在其 RHEL6.5 中集中支持 Docker;Google 也在其 PaaS 产品中广泛应用。

(5)docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。Docker 的基础是 Linux 容器(LXC)等技术。

(6)在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。

(7)下面的图片比较了 Docker 和传统虚拟化方式的不同之处,可见容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件层面实现。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2、2010年,几个雄心勃勃的年轻人怀揣1000万美元的融资在旧金山成立了一家做PaaS平台的公司,起名为dotCloud。目标是做世界上最好的PaaS,dotcloud 打败他们:

Amazon AWS
Google GAE
IBM Bluemix
RedHat OpenShift
Microsoft Azure
VMware Cloud Foundry
Heroku

3、什么是PaaS?

传统的软件产品开发一般是这样的:
1)、确定产品定位和需求,确定首次迭代的范围。
2)、制作界面原型。
3)、技术选型,然后根据技术选型为每个开发者搭建开发环境和技术栈,例如 Java 环境、Python 环境、Ruby 环境、数据库、中间件等等。
4)、构建基础技术框架和服务,包括日志、存储、消息、缓存、搜索、数据源、集群扩展等等。
5)、模拟用户容量,构建测试环境。
6)、开始编写真正的业务代码,实现产品功能。
7)、迭代开发/测试,生生不息,周而复始
而PaaS 平台可以直接省略3,4 ,5 三个步骤

4、dotcloud在苦苦支撑了几年之后,公司业务始终不见起色。dotCloud的创始人Solomon Hykes决定把dotCloud的所有源代码开源来搏一把。 没想到,他们的核心引擎Docker重现了当年Linux Kernel开源时的丰彩,获得了广大服务端程序员的追捧:“这个容器管理引擎大大降低了容器技术的使用门槛,轻量级,可移植,虚拟化,语言无关,写了程序扔上去做成镜像可以随处部署和运行,开发、测试和生产环境彻底统一了,还能进行资源管控和虚拟化。

5、于是,dotCloud迅速停下其它手中业务的开发,开始专心研发Docker产品和维护相关社区,过上了幸福而快乐的生活。后面甚至2013年把公司名字都改成Docker,2014年8月Docker宣布把平台即服务的业务dotCloud出售给位于德国柏林的平台即服务提供商CloudControl,dotCloud的历史告一段落,Docker的序幕缓缓拉开。

6、docker是当前非常火的一款虚拟化产品

7、docker 使用 Google 公司推出的 Go 语言 进行开发实现, 基于 Linux 内核的cgroup,namespace 等技术对进程进行封装隔离,属于操作系统层面的虚拟化技术。由于隔离进程独立于宿主和其他的隔离的进程,因此也称为容器。

aaronszm 发布了95 篇原创文章 · 获赞 29 · 访问量 4万+ 私信 关注

标签:容器,虚拟化,基本概念,dotCloud,Linux,docker,Docker
来源: https://blog.csdn.net/aaronszm/article/details/104252025

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有