当前位置: 首页 > 后端技术 > Java

Docker的8个应用场景真香!

时间:2023-04-02 00:37:32 Java

来源:http://dockerone.com/article/126Flux7本文介绍了Docker常用的8个真实使用场景,分别是简化配置、代码管道管理、提高开发效率、隔离应用、集成服务器、调试能力,多租户环境,快速发展。这几天群里一直在讨论Docker的应用场景。转载本文的初衷是想和大家做一些交流和互动。你如何使用Docker?什么样的应用场景?欢迎回复或投稿给我。以下为原文:几周前,Flux7参加了DockerCon,这是第一届以Docker为中心的技术大会。它面向对在Docker开放平台上构建、交付和运行分布式应用程序感兴趣的开发人员和从业者,无论这些开放平台是运行在个人笔记本电脑上还是数据中心的虚拟机上。Flux7首席执行官AaterSuleman与一位客户分享了演示文稿。虽然DockerCon会议很有趣,但我觉得会议过于关注Docker的细节而忽略了Docker的用例。下面是笔者分享的一些Docker的实际应用案例。1、简化配置这是Docker标榜的Docker主要使用场景。虚拟机最大的优势就是可以在你的硬件设施上运行不同配置的各种平台(软件、系统)。Docker提供了相同的功能,同时减少了额外的开销。它允许您将运行环境和配置放在代码中,然后进行部署。相同的Docker配置可以在不同的环境中使用,降低了硬件需求和应用环境之间的耦合度。2.代码流水线管理前面的场景对代码流水线的管理有很大的帮助。代码从开发者机器到最终部署到生产环境需要经过很多中间环境。每个中间环境都有自己的细微差别。Docker为应用程序提供了从开发到启动的一致环境,使代码管道更加容易。3.提高开发效率这带来了一些额外的好处:Docker可以提高开发人员的开发效率。如果想看更详细的例子,可以参考Aater在DevOpsDaysAustin2014大会或DockerCon上的演讲:http://www.slideshare.net/Flu...在不同的开发环境中,我们都想结合二把事情做好。一是我们希望开发环境尽可能接近生产环境,二是我们希望快速搭建开发环境。理想情况下,要实现第一个目标,我们需要在独立的虚拟机中运行每个服务,以监控生产环境中服务的运行状态。但是,我们不想每次都需要网络连接,每次重新编译都要远程连接,非常麻烦。这就是Docker做得特别好的地方。开发环境中的机器通常内存相对较小。之前使用虚拟化的时候,我们经常需要给开发环境的机器加内存。现在,Docker可以轻松地让数十种服务运行在Docker中。开始跑步。4.隔离应用的原因有很多,你可能会选择在一台机器上运行不同的应用,比如前面提到的提高开发效率的场景。我们往往需要考虑两点,一是服务器整合以降低成本,二是将单体应用拆分成松散耦合的单个服务(译者注:微服务架构)。如果你想了解为什么松散耦合的应用程序如此重要,请参考SteveYege的论文:https://plus.google.com/+RipR...文章比较了Google和Amazon。5.整合服务器就像通过虚拟机整合多个应用程序一样,Docker隔离应用程序的能力使得Docker可以整合多个服务器以降低成本。由于没有多个操作系统的内存占用以及在多个实例之间共享未使用内存的能力,Docker可以提供比虚拟机更好的服务器整合解决方案。6.调试能力Docker提供了很多工具,这些工具不一定只针对容器,但它们适用于容器。它们提供了许多功能,包括能够为容器设置检查点、设置版本以及查看两个容器之间的差异,这有助于调试错误。你可以在《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.1000+Java面试题及答案(2022最新版)2.厉害了!Java协程来了。..3.SpringBoot2.x教程,太全面了!4.不要用爆破爆满画面,试试装饰者模式,这才是优雅的方式!!5.《Java开发手册(嵩山版)》最新发布,赶快下载吧!感觉不错,别忘了点赞+转发!