咱们为何须要关心容器?

咱们为何要关心Docker?前端

好。第一个问题:什么是Docker?web

若是你是一名开发人员,你可能遇到过如下问题:软件能够在机器上运行,可是在测试环境中却没法工做。那么,Docker在最基本的层面上解决了这个问题。数据库


Docker何时开始工做?

Docker在软件开发生命周期(SDLC)的部署阶段发挥做用。它简化了应用程序的部署过程,解决了大量相关问题。后端

 

Docker是作什么的?

软件不单单是一段代码。它由前端组件、后端服务器、数据库、信封、库和依赖项组成,咱们必须确保全部组件都能正常工做,而且软件也能在全部平台上运行,这包括:手机、平板电脑、电脑,以及全部不一样的操做系统。若是咱们画一张全部组件和平台的图,咱们会看到每一个组件都链接到各个平台——看起来就像一个神经网络同样!服务器

能够用一个简单的比喻来理解这一点:想象你要搬家了,你必须带着全部的东西去一个不一样的国家。你移动的东西有不一样的大小和形状,有不一样的要求(易碎品,“轻拿轻放”,等等)。你必须考虑运输、包装、专业劳动力、运输。可是若是你有一个容器,那么全部这些问题都会消失,你所要作的就是把你的东西完整地、正确地打包在容器里。网络

Docker是一个经过使用容器来进行轻松部署和运行应用程序的工具。Docker容许开发人员将应用程序与所需的全部部分(如库和依赖项)打包在一块儿,并将它们做为一个包发送出去。Docker经过将其发送到目的地并在全部可能的平台上运行它来处理其他的工做。架构

开发人员须要考虑的是如何开发软件,他们只须要将其打包,而不须要考虑运行平台的需求。工具


怎么建立Docker容器

Docker文件用于构建一个Docker映像,该映像还将包含全部项目代码。同一个Docker映像能够用来旋转多个容器,每一个容器都对底层映像进行了修改。最后的映像能够被上传到Docker的中心,并与其余协做者共享以进行测试和部署。所以,构建Docker映像将是你最主要的挑战。Docker容器只是Docker映像的一个实例。测试

定义

Docker文件:一个文本文档,包含了用户能够在命令行上调用的用来组装图像的全部命令。spa

Docker镜像:一种只读模板,用于建立Docker用户构建的容器;它将存储在Docker中心或本地注册表中。

Docker容器:独立的应用程序平台,包含了运行由一个或多个映像构建的应用程序所需的一切。


什么是Docker Compose?

一般,咱们使用一个容器来承载一个服务器。考虑一个使用许多web服务器的大型产品,这些服务器必须单独或在单独的虚拟机(vm)中运行。

在这种状况下,运行这么多不一样的vm会使计算机过热并下降全部进程的速度。可是,咱们有一个单独的容器,叫作Docker Compose,它将包含一个Docker Composer。若是咱们在编写器中有两个Docker映像,它将在两个实例中运行,容许它们彼此交互并监视它们。

假设你正在使用MongoDB、Express、Angular和Node.js开发一个全堆栈应用程序。您必须使用三个包含三个容器的Docker文件。一个容器用于MongoDB做为数据库;一个容器用于服务器,它是Express和Node.js的组合;另外一个容器用于Angular(前端客户端)。

若是你不知道完整堆栈应用程序是如何工做的,那么你首先须要了解用户所在的客户端。用户向应用程序发送请求,而后应用程序将请求发送到服务器。服务器(即后端)执行全部的功能。而后,服务器从数据库(本例中为MongoDB)获取数据,并将其发送到用户的前端。容器中的全部Docker文件都由用YAML编写的Docker撰写文件控制。在YAML文件中,你必须指定容器的位置,以及Composer与其余容器交互时所必须使用的端口号。

简单来讲,Docker组合用于运行多容器应用程序。每一个容器将运行一个独立的应用程序,它能够与同一主机中的每一个容器通讯。

Docker使用客户机-服务器架构。请参见下面的图片进行说明。

原文连接:https://medium.com/better-programming/why-should-you-care-about-containerizing-45383062d4df

以上信息来源于网络,由“京东云开发者社区”公众号编辑整理,不表明京东云立场。

点击“京东云”了解京东云原生容器产品

相关文章
相关标签/搜索