基础:Docker初学者指南

爱德华Kisller
2021-09-14 11:29

码头工人是什么?一个初学者指南

Docker已经迅速崛起为技术的选择打包和部署现代分布式应用程序。它的名字变成了容器的同义词.但是Docker到底是什么,它是如何工作的,为什么要使用它?继续阅读,我们将解释Docker的关键概念和特性,以及它给企业it带来的好处。我们还将展示如何最大限度地利用Docker容器环境。

在我们做这些之前,让我们首先了解容器的基本原理。

101年集装箱

如果这对你来说是一个全新的领域,你可能会问:容器是什么呢?简单地说,容器是传统容器的替代品虚拟化方法,该方法使用虚拟机分区基础设施资源。2022世界杯阿根廷预选赛赛程但是,如果vm是完全成熟的客户操作系统,则容器要多得多流线型的操作环境,它只提供应用程序运行实际需要的资源。2022世界杯阿根廷预选赛赛程这是由于容器的方式而实现的抽象从主机基础设施。容器不是使用管理程序来分发硬件资源,而是共享2022世界杯阿根廷预选赛赛程内核主机操作系统的其他容器。

Docker -包含的应用程序

这将大大降低基础结构足迹因为容器可以打包运行代码所需的所有系统组件,而不需要完全成熟的操作系统的臃肿。容器的缩小尺寸和简单性也意味着它们可以停止和启动比虚拟机更快,从而使它们更多响应到波动的伸缩需求。与管理程序不同,容器引擎不需要模拟整个操作系统。总的来说,集装箱通常提供更好的服务性能当您将它们与更传统的VM部署进行比较时。


建立自己的免费Docker注册表

集装箱与云

容器非常适合今天的需求应用程序体系结构的方法,在这种体系结构中,您不依赖于一个大型的单片程序,而是将事情分解为一套松耦合的程序microservices.这为您提供了许多好处。例如,你可以复制通过虚拟机集群的微服务来改进容错.如果单个VM出现故障,您的应用程序可以依靠集群中的其他微服务继续工作。更重要的是,微服务更容易维护,因为你可以补丁或更新容器的代码和系统环境,而不影响集群中的其他容器。

码头工人容器集群

容器和DevOps

容器的紧凑设计使其高度便携。结果,在……的帮助下DevOps的工具,比如Jenkins和CodeShip,它们很容易融入持续集成(CI)而且持续交付(CD)工作流。从开发人员的角度来看,容器也是非常实用的,因为它们可以被托管在容器上不同的服务器使用不同的配置,只要每个服务器操作系统使用相同的Linux内核,或者至少与容器环境兼容。

这使得编码人员可以专注于代码,而不需要担心代码最终将在其上运行的底层基础设施。同样,开发人员可以在项目中协作工作,而不管他们每个人可能使用的宿主环境是什么。

应该使用码头工人吗?

Docker就是其中之一几个不同容器平台。那么,为什么选择它而不是其他容器方案呢?首先,Docker是,遥遥领先的,最广泛使用容器服务。它的流行完全基于这样一个事实:它是一个健壮的、安全的、具有成本效益的、功能丰富的解决方案,比任何竞争对手都更容易部署。第二,这是一个开源该解决方案由大量的公司和个人支持,他们不断地为项目做出贡献。它提供了强有力的支持和一个大的生态系统互补产品、服务合作伙伴和第三方容器hth华体会最新官方网站图像和集成的集成。此外,选择Docker不会将您绑定到特定的供应商。

最后,Docker平台允许您在上面运行它的容器窗户.这是由Linux实现的虚拟化层它位于Windows操作系统和Docker运行时环境之间。除了Linux容器环境,用于Windows的Docker还支持本机Windows容器。

尽管替代方案现在逐渐成熟,但当你纵观整个容器领域时,Docker仍然处于领先地位,并且仍然是大多数用例的最佳选择。但在你决定Docker是否适合你之前,在开始使用Docker平台之前,你需要了解以下几个关键概念:

  • 码头工人引擎
    这是您在主机上安装的应用程序构建、运行和管理码头工人的容器中。作为Docker系统的核心,它将平台的所有组件统一到一个位置。
  • 码头工人守护进程
    该组件是Docker系统的主力,负责监听和处理API请求管理安装的其他各个方面,例如映像、容器和存储卷。
  • 码头工人的客户
    这是主要的用户界面用于与Docker系统通信。它通过命令行界面(CLI)接受命令,并将它们发送到Docker守护进程。
  • 码头工人形象
    一个只读模板用于创建Docker容器。它由一系列的层组成一体化的包其中包含创建完全可操作的容器环境所需的所有安装、依赖项、库、流程和应用程序代码。
  • 集装箱码头工人
    运行单个Docker映像的活实例microservice完整的应用程序堆栈.当您启动一个容器时,您添加一个顶部可写层,称为容器层,到Docker映像的底层。这用于存储在容器运行时期间对其所做的任何更改。
  • 码头工人注册表
    一个编目托管、推送和拖动Docker映像的系统。您可以使用自己的本地注册中心或第三方托管的众多注册中心服务之一(例如,Red Hat Quay、Amazon ECR、谷歌容器注册中心和码头工人中心).一个码头工人注册表将图像组织到存储位置,称为存储库,其中每个存储库包含Docker映像的不同版本,但共享相同的映像名称。

码头工人架构

了解了这些基础知识之后,让我们简单看看Docker容器应该注意的其他几个方面:

  • 集装箱编配
    一旦准备好将应用程序部署到Docker上,就需要一种方法提供、配置、扩展和监视跨微服务体系结构的容器。开源编排系统,如Kubernetes、Mesos和Docker Swarm,可以为您提供管理容器集群所需的工具。通常,它们能够:
  • 在容器之间分配计算资源2022世界杯阿根廷预选赛赛程
  • 根据应用程序工作负载添加或删除容器
  • 管理容器之间的交互
  • 监视容器的运行状况
  • 平衡微服务之间的负载
  • 成本和性能优化
    最后,你需要这样做优化您的部署,以确保您从容器中获得最佳性能和效率。首先简化通过只打包应用程序需要的内容来尽可能多地使用容器。这个最佳实践还有助于最小化它们攻击表面从而提高安全性。为了确保您的容器尽可能高效地利用资源,您需要例行地执行这些操作2022世界杯阿根廷预选赛赛程监控确保它们在CPU和内存分配、集群大小和微服务复制方面保持了良好的平衡。这些步骤在基于云的部署中特别重要,因为不必要的资源消耗会给每月的云账单增加额外和不必要的成本。

了解更多关于Docker的信息

发布日期:2020年6月22日

最后更新:2021年3月17日