乐趣区

关于jquery:使用Docker的好处有哪些

本文带大家理解 Docker 是什么,Docker 和传统虚拟化比照的区别,Docker 架构是怎么的,Docker 的作用以及应用 Docker 的益处有哪些?

Docker 是什么

1.1 什么是 Docker

docker 是一个开源的软件部署解决方案;

docker 也是轻量级的利用容器框架;

docker 能够打包、公布、运行任何的利用。

Docker 最后是 dotCloud 公司创始人 Solomon Hykes 在法国期间发动的一个公司外部我的项目,它是基于 dotCloud 公司多年云服务技术的一次变革,并于 2013 年 3 月以 Apache 2.0 受权协定开源,次要我的项目代码在 GitHub 上进行保护。Docker 我的项目起初还退出了 Linux 基金会,并成立推动 凋谢容器联盟(OCI)。

Docker 自开源后受到宽泛的关注和探讨,至今其 GitHub 我的项目曾经超过 4 万 6 千个星标和一万多个 fork。甚至因为 Docker 我的项目的火爆,在 2013 年底,dotCloud 公司决定改名为 Docker。Docker 最后是在 Ubuntu 12.04 上开发实现的;Red Hat 则从 RHEL 6.5 开始对 Docker 进行反对;Google 也在其 PaaS 产品中广泛应用 Docker。

Docker 应用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 AUFS 类的 Union FS 页游 www.coubai.com 等技术,对过程进行封装隔离,属于 操作系统层面的虚拟化技术。因为隔离的过程独立于宿主和其它的隔离的过程,因而也称其为容器。最后实现是基于 LXC,从 0.7 版本当前开始去除 LXC,转而应用自行开发的 libcontainer,从 1.11 开始,则进一步演进为应用 runC 和 containerd。

Docker 在容器的根底上,进行了进一步的封装,从文件系统、网络互联到过程隔离等等,极大的简化了容器的创立和保护。使得 Docker 技术比虚拟机技术更为轻便、快捷。

1.2 Docker 和传统虚拟化比照 Docker 跟传统的虚拟化形式相比具备泛滥的劣势。

Docker 在如下几个方面具备较大的劣势:

更疾速的交付和部署

Docker 在整个开发周期都能够完满的辅助你实现疾速交付。Docker 容许开发者在装有利用和服务本地容器做开发。能够间接集成到可继续开发流程中。

例如:开发者能够应用一个规范的镜像来构建一套开发页游容器,开发实现之后,运维人员能够间接应用这个容器来部署代码。Docker 能够疾速创立容器,疾速迭代应用程序,并让整个过程全程可见,使团队中的其余成员更容易了解应用程序是如何创立和工作的。Docker 容器很轻很快!容器的启动工夫是秒级的,大量地节约开发、测试、部署的工夫。

高效的部署和扩容

Docker 容器简直能够在任意的平台上运行,包含物理机、虚拟机、私有云、公有云、个人电脑、服务器等。这种兼容性能够让用户把一个应用程序从一个平台间接迁徙到另外一个。

Docker 的兼容性和轻量个性能够很轻松的实现负载的动静治理。你能够疾速扩容或不便的下线的你的利用和服务,这种速度趋近实时。

更高的资源利用率

Docker 对系统资源的利用率很高,一台主机上能够同时运行数千个 Docker 容器。容器除了运行其中利用外,根本不耗费额定的系统资源,使得利用的性能很高,同时零碎的开销尽量小。传统虚拟机形式运行 10 个不同的利用就要起 10 个虚拟机,而 Docker 只须要启动 10 个隔离的利用即可。

更简略的治理

应用 Docker,只须要小小的批改,就能够代替以往大量的更新工作。所有的批改都以增量的形式被散发和更新,从而实现自动化并且高效的治理

1.3 Docker 架构

Docker 引擎架构图

1.4 Docker 总结

Docker 是世界 lingxian 的软件容器平台

Docker 应用 Google 公司推出的 Go 语言进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 AUFS 类的 UnionFS 等技术,对过程进行封装隔离,属于操作系统层面的虚拟化技术。因为隔离的过程独立于宿主和其它的隔离的过程,因而也称其为容器。Docke 最后实现是基于 LXC。

Docker 可能主动执行重复性工作,例如搭建和配置开发环境,从而解放了开发人员以便他们专一在真正重要的事件上:构建卓越的软件。

用户能够不便地创立和应用容器,把本人的利用放入容器。容器还能够进行版本治理、复制、分享、批改,就像治理一般的代码一样。

1.5 Docker 的作用

轻量,在一台机器上运行的多个 Docker 容器能够共享这台机器的操作系统内核;它们可能迅速启动,只需占用很少的计算和内存资源。镜像是通过文件系统层进行结构的,并共享一些公共文件。这样就能尽量升高磁盘用量,并能更快地下载镜像。

规范,Docker 容器基于开放式规范,可能在所有支流 Linux 版本、Microsoft Windows 以及包含 VM、裸机服务器和云在内的任何基础设施上运行。

平安,Docker 赋予利用的隔离性不仅限于彼此隔离,还独立于底层的基础设施。Docker 默认提供超强的隔离,因而利用呈现问题,也只是单个容器的问题,而不会波及到整台机器。

1.6 Docker 的益处

Docker 的镜像提供了除内核外残缺的运行时环境,确保了利用运行环境一致性,从而不会再呈现“这段代码在我机器上没问题啊”这类问题;——统一的运行环境

能够做到秒级、甚至毫秒级的启动工夫。大大的节约了开发、测试、部署的工夫。——更疾速的启动工夫

防止专用的服务器,资源会容易受到其余用户的影响。——隔离性

长于解决集中暴发的服务器应用压力;——弹性伸缩,疾速扩大

能够很轻易的将在一个平台上运行的利用,迁徙到另一个平台上,而不必放心运行环境的变动导致利用无奈失常运行的状况。——迁徙不便

应用 Docker 能够通过定制利用镜像来实现继续集成、继续交付、部署。——继续交付和部署

退出移动版