基础知识:Docker初学者指南

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

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

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

在此之前,我们先来了解一下容器的基本原理。

101年集装箱

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

Docker -包含应用程序

这将大大降低基础设施足迹因为容器可以打包运行代码所需的所有系统组件,而不用担心操作系统的膨胀。容器的缩小和简单也意味着它们可以停止和启动比虚拟机更快,从而使它们更多响应对于波动的缩放要求。与管理程序不同,容器引擎不需要模拟整个操作系统。总体而言,容器通常提供更好的服务性能当您将它们与更传统的VM部署进行比较时。


建立自己的免费Docker注册表

容器与云

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

码头工人容器集群

容器和DevOps

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

这使得编码人员可以专注于代码,而无需担心它最终将在其上运行的底层基础设施。同样,开发人员可以在项目中进行协作,而不用考虑他们各自可能使用的宿主环境。

应该使用码头工人吗?

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

最后,Docker平台允许你运行它的容器窗户.这是由Linux实现的虚拟化层,它位于Windows操作系统和Docker运行环境之间。除了Linux容器环境,Docker for Windows也支持原生的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日