乐趣区

关于java:Docker-的-8-个应用场景真香啊

起源:http://dockerone.com/article/126

Flux 7 在本文中介绍了罕用的 8 个 Docker 的实在应用场景,别离是简化配置、代码流水线治理、进步开发效率、隔离利用、整合服务器、调试能力、多租户环境、疾速开发。

这几天群里都在探讨 Docker 的利用场景, 转载这篇文章的初衷是想跟大家有一些交换互动,你是如何应用 Docker 的?是什么样的利用场景?欢送回复或投稿给我。

以下为原文:

几周前 Flux 7 加入了 DockerCon,DockerCon 是首个以 Docker 为核心的技术大会。它面向开发者以及对在 Docker 开放平台上构建、交付、运行分布式应用感兴趣的从业者,不管这些开放平台是运行于自用笔记本上或者是数据中心的虚拟机上。

Flux 7 的 CEO Aater Suleman 和一位客户独特发表了演讲。尽管 DockerCon 大会非常乏味,但我感觉大会太关注 Docker 的具体细节,而疏忽了 Docker 的应用场景。以下是作者分享的一些 Docker 的理论利用案例。

1、简化配置


这是 Docker 公司宣传的 Docker 的次要应用场景。虚拟机的最大益处是能在你的硬件设施上运行各种配置不一样的平台(软件、零碎),Docker 在升高额定开销的状况下提供了同样的性能。它能让你将运行环境和配置放在代码中而后部署,同一个 Docker 的配置能够在不同的环境中应用,这样就升高了硬件要求和应用环境之间耦合度。

2、代码流水线治理


前一个场景对于治理代码的流水线起到了很大的帮忙。代码从开发者的机器到最终在生产环境上的部署,须要通过很多的两头环境。而每一个两头环境都有本人渺小的差异,Docker 给利用提供了一个从开发到上线均统一的环境,让代码的流水线变得简略不少。

3、进步开发效率


这就带来了一些额定的益处:Docker 能晋升开发者的开发效率。如果你想看一个具体一点的例子,能够参考 Aater 在 DevOpsDays Austin 2014 大会或者是 DockerCon 上的演讲:

http://www.slideshare.net/Flu…

不同的开发环境中,咱们都想把两件事做好。一是咱们想让开发环境尽量贴近生产环境,二是咱们想疾速搭建开发环境。

现实状态中,要达到第一个指标,咱们须要将每一个服务都跑在独立的虚拟机中以便监控生产环境中服务的运行状态。然而,咱们却不想每次都须要网络连接,每次从新编译的时候近程连贯下来特地麻烦。这就是 Docker 做的特地好的中央,开发环境的机器通常内存比拟小,之前应用虚构的时候,咱们常常须要为开发环境的机器加内存,而当初 Docker 能够轻易的让几十个服务在 Docker 中跑起来。

4、隔离利用


有很多种起因会让你抉择在一个机器上运行不同的利用,比方之前提到的进步开发效率的场景等。

咱们常常须要思考两点,一是因为要降低成本而进行服务器整合,二是将一个整体式的利用拆分成松耦合的单个服务(译者注:微服务架构)。如果你想理解为什么松耦合的利用这么重要,请参考 Steve Yege 的论文:

https://plus.google.com/+RipR…

文中将 Google 和亚马逊做了比拟。

5、整合服务器


正如通过虚拟机来整合多个利用,Docker 隔离利用的能力使得 Docker 能够整合多个服务器以降低成本。因为没有多个操作系统的内存占用,以及能在多个实例之间共享没有应用的内存,Docker 能够比虚拟机提供更好的服务器整合解决方案。

6、调试能力


Docker 提供了很多的工具,这些工具不肯定只是针对容器,然而却实用于容器。它们提供了很多的性能,包含能够为容器设置检查点、设置版本和查看两个容器之间的差异,这些个性能够帮忙调试 Bug。

你能够在《Docker 援救世界》的文章:

http://flux7.com/blogs/docker…

找到这一点的例证。

7、多租户环境


另外一个 Docker 有意思的应用场景是在多租户的利用中,它能够防止要害利用的重写。咱们一个特地的对于这个场景的例子是为 IoT(译者注:物联网)的利用开发一个疾速、易用的多租户环境。这种多租户的根本代码非常复杂,很难解决,从新布局这样一个利用岂但耗费工夫,也节约金钱。

应用 Docker,能够为每一个租户的应用层的多个实例创立隔离的环境,这不仅简略而且老本低廉,当然这所有得益于 Docker 环境的启动速度和其高效的 diff 命令。

更多详情:

http://flux7.com/blogs/docker…

8、疾速开发


在虚拟机之前,引入新的硬件资源须要耗费几天的工夫。Docker 的虚拟化技术将这个工夫降到了几分钟,Docker 只是创立一个容器过程而无需启动操作系统,这个过程只须要秒级的工夫。这正是 Google 和 Facebook 都看重的个性。

你能够在数据中心创立销毁资源而无需放心重新启动带来的开销。通常数据中心的资源利用率只有 30%,通过应用 Docker 并进行无效的资源分配能够进步资源的利用率。另外,Docker 系列面试题和答案全副整顿好了,微信搜寻​Java 技术栈,在后盾发送:面试,​能够在线浏览。

近期热文举荐:

1.1,000+ 道 Java 面试题及答案整顿 (2022 最新版)

2. 劲爆!Java 协程要来了。。。

3.Spring Boot 2.x 教程,太全了!

4. 别再写满屏的爆爆爆炸类了,试试装璜器模式,这才是优雅的形式!!

5.《Java 开发手册(嵩山版)》最新公布,速速下载!

感觉不错,别忘了顺手点赞 + 转发哦!

退出移动版