docker有什么好处

作者:原创时间:2022-08-20
文档

docker的好处是什么,让我们一起了解一下?

Docker的9大好处分别是:

1、替代虚拟机(VM)

Docker可以在很多情况下替代虚拟机。如果用户只关心应用程序而不是操作系统,可以用Docker替代虚拟机,把操作系统交给其他人去考虑。Docker不仅启动速度比虚拟机快,迁移时也更为轻量,同时得益于它的分层文件系统,与其他人共享变更时更简单、更快捷。而且,它牢牢地扎根在命令行中,非常适合脚本化。

2、软件原型

如果想快速体验软件,同时避免干扰目前的设置或配备一台虚拟机带来的麻烦,Docker可以在几毫秒内提供一个沙盒环境。在亲身体验之前,用户很难感受到这种解放的效果。

3、打包软件

因为对Linux用户而言,Docker镜像实际上没有依赖,所以非常适合用于打包软件。用户可以构建镜像,并确保它可以运行在任何现代Linux机器上——就像Java一样,但不需要JVM。

4、让微服务架构成为可能

Docker 有助于将一个复杂系统分解成一系列可组合的部分,这让用户可以用更离散的方式来思考其服务。用户可以在不影响全局的前提下重组软件,使其各部分更易于管理和可插拔。

5、网络建模

由于可以在一台机器上启动数百个(甚至数千个)相互隔离的容器,因此对网络进行建模轻而易举。这对于现实世界场景的测试非常有用,而且所费无几。

6、离线时启用全栈生产力

因为可以将系统的所有部分捆绑在Docker容器中,所以用户可以将其编排运行在笔记本电脑中移动办公,即便在离线时也毫无问题。

7、降低调试支出

不同团队之间关于软件交付的复杂谈判在业内司空见惯。我们亲身经历过不计其数的这类讨论:失效的库、有问题的依赖、更新被错误实施或是执行顺序有误,甚至可能根本没执行以及无法重现的错误等。估计读者也遇到过这些问题。Docker让用户可以清晰地说明(即便是以脚本的形式)在一个属性已知的系统上调试问题的步骤,错误和环境重现变得更简单,而且通常与所提供的宿主机环境是分离的。

8、文档化软件依赖及接触点

通过使用结构化方式构建镜像,为迁移到不同环境做好准备,Docker 强制用户从一个基本出发点开始明确地记录软件依赖。即使用户不打算在所有地方都使用Docker,这种文档记录也有助于在其他地方安装软件。

9、启用持续交付

持续交付(continuous delivery,CD)是一个基于流水线的软件交付范型,该流水线通过一个自动化(或半自动化)流程在每次变动时重新构建系统然后交付到生产环境中。

因为用户可以更准确地控制构建环境的状态,Docker 构建比传统软件构建方法更具有可重现性和可复制性。使持续交付的实现变得更容易。通过实现一个以Docker为中心的可重现的构建过程,标准的持续交付技术,如蓝/绿部署(blue/green deployment,在生产环境中维护“生产”和“最新”部署)和凤凰部署(phoenix deployment,每次发布时都重新构建整个系统)变得很简单。

Docker的常用用途有哪些?

1、简化配置

这是Docker初始目的,虚拟机VM最大的好处是基于你的应用配置能够无缝运行在任何平台上。Docker提供同样类似VM的能力,但是没有任何副作用,它能让你将环境和配置放入代码然后部署,同样的Docker配置能够在各种环境中使用,这实际是将应用环境和底层环境实现了解耦。

2、代码管道化管理

能够对代码以流式pipeline管道化进行管理,从开发者的机器到生产环境机器这个流程中都能有效管理。因为在这个流程中会有各种不同的环境,每个都可能有微小的区别,Docker提供了跨越这些异构环境以一致性的微环境,从开发到部署实现流畅发布。

3、开发人员的生产化

在一个开发环境,我们希望我们的开发环境能更加接近于生产环境,我们会让每个服务运行在自己的VM中,这样能模拟生产环境,比如有时我们并不总是需要跨越网络连接,这样我们可以将多个Docker装载一系列服务运行在单机上最大程度模拟生产分布式部署的环境。

4、应用隔离

有很多理由你需要在一台机器上运行多个应用,这就需要将原来铁板一块monolithic的应用切分为很多微服务。实现应用之间的解耦,将多个应用服务部署在多个Docker中能轻松达到这个目的。

5、服务合并

使用Docker也能合并多个服务以降低费用,不多的操作系统内存占用,跨实例共享多个空闲的内存,这些技术Docker能以更加紧密资源提供更有效的服务合并。

6、多租户

Docker能够作为云计算的多租户容器,使用Docker能容易为每个租户创建运行应该多个实例,这得益其灵活的快速环境以及有效diff命令。

快速部署

Docker通过创建进程的容器,不必重新启动操作系统,几秒内能关闭,你可以在数据中心创建或销毁资源,不用担心额外消耗。典型的数据中心利用率是30%,通过更积极的资源分配,以低成本方式对一个新的实例实现一个更聚合的资源分配,我们很容易超过这个利用率,大大提高数据中心的利用效率。

以上就是小编的分享,希望可以帮助到大家。

显示全文
网络工程师都学什么 网络工程师和华为工程师的区别是什么 查询网络工程师证书如何操作 网络工程师具体做什么 网络工程师证书考试内容 高级网络工程师怎么考 网络工程师自学难吗 网络工程师工作描述 网络工程专业就业前景 pmp考试备考多长时间 percent翻译 什么样的人是绿茶女 猕猴桃怎么榨汁窍门 螃蟹吃多了有什么后果 父母是控制型人格怎么办 如何压制自己的怒气 怎么克服社交恐惧症啊 面对困难怎么克服 怎么提高销售能力 自卑的人怎么帮助 勾线笔画皮肤上怎么洗掉 怎么样去除眼袋 怎样去除家中狗的尿骚味 毛绒公仔怎么清洗 怎么让自己的鞋底不滑 过年怎么过才有年味 怎样快速打扫房间卫生 奶瓶怎么清洗干净 做肥皂泡的方法 古人赞美小草的诗句有哪些 赞美英雄牺牲的名言 赞牡丹的诗 关于山峰的诗句有哪些 如何区分企业微信和微信 怎样区别荣耀magic3和magic4 买鸡全腿好还是琵琶腿好 桔子和橘子是一样的水果吗 网络工程就业前景及待遇 黄龙溪古镇是什么地方 360浏览器画报怎么关闭