Docker Brings Some Benefits

Posted by 察说花园 on April 2, 2020

什么是 Docker

在容器中而不是在虚拟机中运行应用程序在 IT 界越来越流行。 这项技术被认为是软件工业近代史上增长最快的技术之一。 它的核心是 Docker,一个允许用户在容器中轻松打包、分发和管理应用程序的平台。 换句话说,它是一个开源项目,可以自动化在软件容器中部署应用程序。

通过使用容器和容器,Docker 实际上使得创建、部署和运行应用程序变得更加容易,容器允许开发人员将应用程序与它所需的所有部件打包,比如库和其他依赖项,并将它们作为一个包发布。 通过这样做,开发人员可以确保应用程序将运行在任何其他 Linux 机器上,而不管这台机器可能具有的任何定制设置可能与用于编写和测试代码的机器不同。

Docker 现实情况

Docker统计数据与事实 2/3的公司尝试使用 Docker,采用它。 大多数将要采用这种技术的公司在最初生产使用的30天内就已经这样做了。

为什么像 ING,Paypal,ADP 和 Spotify 这样的大公司一直在使用 Docker? 为什么Docker的应用增长如此之快? 让我们讨论一下 docker 的最大优点,以便更好地理解它。

效率

使用 docker 的第一个优点是 ROI。 在选择新产品时,大多数管理决策的最大驱动力是投资回报。 一个解决方案越能在提高利润的同时降低成本,它就越能成为一个更好的解决方案,尤其是对于那些需要长期产生稳定收入的大型知名公司而言。

从这个意义上说,Docker 可以通过显著减少基础设施资源来帮助实现这种类型的节约。 Docker 的本质是运行相同的应用程序所需的资源更少。 由于 Docker 减少了对基础设施的需求,组织能够节省从服务器成本到维护它们所需的员工的所有费用。 多克允许工程团队变得更小更有效率。

标准化与生产力

Docker 容器确保跨多个开发和发布周期的一致性,使您的环境标准化。 基于 docker 的体系结构的最大优势之一实际上是标准化。 Docker 提供了可重复的开发、构建、测试和生产环境。 对整个流水线上的服务基础设施进行标准化,使得每个团队成员都可以在一个生产平价环境中工作。 通过这样做,工程师可以更有效地分析和修复应用程序中的错误。 这减少了在缺陷上浪费的时间,并增加了可用于特性开发的时间。

正如我们提到的,Docker 容器允许您提交对 Docker 映像的更改并进行版本控制。 例如,如果您执行的组件升级破坏了您的整个环境,那么回滚到以前版本的 Docker 映像是非常容易的。 整个过程可以在几分钟内进行测试。 Docker 速度很快,允许您快速进行复制并实现冗余。 此外,启动 Docker 映像的速度与运行机器进程的速度一样快。

Ci 效率

Docker 允许您构建容器映像,并在部署过程的每个步骤中使用相同的映像。 这样做的一个巨大好处是能够分离不依赖的步骤并且并行地运行它们。 从建设到生产的时间长度可以显著加快。

兼容性和可维护性

彻底消除“它在我的机器上工作”的问题。 整个团队都会感激的好处之一就是平价。 就 Docker 而言,奇偶校验意味着无论在哪台服务器或哪台笔记本电脑上运行,图像都运行相同的内容。 对于您的开发人员来说,这意味着花在设置环境、调试特定于环境的问题上的时间更少,并且代码库更具可移植性和易于设置。 奇偶校验还意味着您的生产基础设施将更可靠,更易于维护。

简单快速的配置

Docker 的一个主要优点是它简化事情的方式。 用户可以使用自己的配置,将其放入代码中,并毫无问题地部署它。 由于 Docker 可以在各种各样的环境中使用,基础结构的需求不再与应用程序的环境联系起来。

快速部署

Docker 设法将部署时间减少到秒。 这是因为它为每个进程创建一个容器,而不引导操作系统。 可以创建和销毁数据,而不用担心再次提取数据的成本会高于负担得起的成本。

持续部署和测试

Docker 确保了从开发到生产的一致环境。 Docker 容器被配置为在内部维护所有配置和依赖关系; 您可以从开发到生产使用相同的容器,以确保没有任何差异或人工干预。

如果您需要在产品的发布周期中执行升级,您可以轻松地对 Docker 容器进行必要的更改、测试它们,并对现有容器实现相同的更改。 这种灵活性是使用 Docker 的另一个关键优势。 Docker 实际上允许您构建、测试和发布可以跨多个服务器部署的映像。 即使提供了新的安全补丁,过程也是一样的。 您可以应用这个补丁,测试它,并将其发布到生产环境中。

跨平台

Docker最大的优点之一是便携性。 在过去的几年里,所有主要的云计算供应商,包括亚马逊网络服务(AWS)和谷歌计算平台(GCP) ,都已经接受了 Docker 的可用性并增加了单独的支持。 Docker 容器可以在 Amazon EC2实例、 Google Compute Engine 实例、 Rackspace 服务器或 VirtualBox 中运行,前提是主机操作系统支持 Docker。 如果是这样的话,运行在 Amazon EC2实例上的容器可以很容易地在环境之间移植,例如移植到 VirtualBox,从而实现类似的一致性和功能。 此外,Docker 与其他提供商如微软 Azure 和 OpenStack 合作得非常好,并且可以与各种配置管理器如 Chef、 Puppet 和 Ansible 等一起使用。

独立

Docker 确保您的应用程序和资源是隔离的。 Docker 确保每个容器都有自己独立于其他容器的资源。 您可以为运行完全不同堆栈的独立应用程序使用各种容器。 因为每个应用程序都在自己的容器上运行,所以 Docker 可以帮助您确保清除应用程序。 如果您不再需要应用程序,您可以简单地删除它的容器。 它不会在你的主机操作系统上留下任何临时或配置文件。

除了这些好处之外,Docker 还确保每个应用程序只使用分配给它们的资源。 特定的应用程序不会使用所有可用资源,这通常会导致其他应用程序的性能下降或完全停机。

安全

使用 docker 的最后一个好处是安全性。 从安全的角度来看,Docker 确保在容器上运行的应用程序是完全隔离和彼此隔离的,使您能够完全控制流量流和管理。 任何 Docker 容器都不能查看在另一个容器中运行的进程。 从体系结构的角度来看,每个容器都有自己的一组资源,范围从处理到网络堆栈。

作为结论,我想说 Docker 容器共享它们的操作系统,因此它们作为独立的进程运行,而不管主机操作系统如何。 正如多克自豪地承认的那样,这意味着它的容器可以“在任何计算机、任何基础设施和任何云中运行” 它所具有的可移植性、灵活性和简单性是 Docker 能够产生如此强劲势头的一个关键原因。 我们是在 Apiumhub 使用 Docker 的忠实粉丝,我们相信它将继续增长。

译文来自: https://dzone.com/articles/difference-between-deveops-and-mobile-devops-lifecycle