原文作者:Jeff Hale原文地址:https://towardsdatascience.co...
翻译:付新圆
在本系列的第1部分《Docker-第1部分:什么是Docker?》我们探讨了Docker容器的概念以及Docker容器的重要性,文章的最后我们把Docker类比成了一个披萨,并把它拆解开来解释Docker容器的结构和用途。在本文中,将分享Docker生态系统中的常用的术语。
遵循本系列第一篇文章中的食品主题,这里我们将甜甜圈想象成一个Docker容器。
Docker生态系统术语
为了方便大家理解,我将Docker术语分为两类:基础术语和进阶术语。
Docker 基础术语
1.Docker平台
Docker平台是 Docker的软件,可在任何Linux服务器上的容器中打包和运行应用程序。Docker平台捆绑了代码文件和依赖项,支持可移动性和可重复性来促进平台扩展。
2.Docker引擎
Docker引擎是客户端服务器应用程序。Docker公司将Docker引擎分为两种产品。
- Docker Community Edition(CE)是免费的,并且主要基于开源工具。
- Docker Enterprise 提供了附加的其他支持,管理和安全功能。
图:引擎让事情运转
3.Docker客户端
Docker客户端是许多Docker用户与Docker交互的主要方式。使用 Docker命令行界面(CLI)时,请在终端中输入以docker
开头的命令,然后Docker客户端使用Docker API将命令发送到Docker Daemon。
图:Docker文档中的图表
4.Docker Daemo
Docker Daemo是侦听Docker API请求的Docker服务器,管理映像、容器、网络和卷。
5.Docker卷
Docker卷是存储应用程序消耗和创建的持久数据的最佳方式。在本系列的第5部分中,我们将对Docker卷进行更多的讨论。
图:卷
6.Docker 注册表
Docker注册表是存储Docker映像的远程位置,将图像推送到注册表并从注册表中提取图像,可以托管注册表或使用提供程序的注册表。例如,AWS和googlecloud都有注册。
7.Docker Hub
Docker Hub是Docker映像的最大注册表,也是默认注册表。您可以在Docker Hub上免费查找图片并存储图片。
图:轮毂和辐条
8.Docker 存储库
Docker 存储库是具有相同名称和不同标签的Docker图像的集合,该标签是图像标识符。
通常,一个存储库具有同一映像的不同版本。例如,Python 是Docker Hub上最流行的官方Docker映像存储库的名称。Python:3.7-slim 指的是Python存储库中带有3.7-slim标签的图像版本。您可以将存储库或单个映像推送到注册表。
Docker 进阶术语
接下来我们看一下与扩展多个Docker容器有关的Docker术语,以下四个概念涉及一次使用多个容器。
1.网络容器
网络容器可以将Docker容器连接在一起,连接的Docker容器可以位于同一主机或多个主机上。有关Docker网络的更多信息,请参阅这篇文章。
图:Docker网络
2.Docker Compose
Docker Compose是一种工具,可让您更轻松地运行需要多个Docker容器的应用程序。Docker Compose允许您将命令移动到docker-compose.yml
文件中以供重用。Docker Compose命令行界面(cli)使与多容器应用程序的交互变得更加容易。Docker Compose随您的Docker安装一起免费提供。
3.Docker Swarm
Docker Swarm是用于协调容器部署的产品。Docker官方教程的第四部分介绍了Docker Swarm。
图:蜂群
4.Docker 服务
Docker服务是分布式应用程序的不同部分。
服务实际上只是“生产中的容器”。一个服务仅运行一个映像,但它规定了映像的运行方式—应该使用什么端口,应该运行多少个容器副本,这样服务就有了它需要的容量,等等。扩展服务会更改运行该软件的容器实例的数量,从而在流程中为服务分配更多的计算资源。
Docker服务允许您跨多个Docker Daemon扩展容器,并使Docker Swarms成为可能。
回顾
以下用一行文字总结以帮助你理清这十几个术语。
基本
- 平台—使Docker容器成为可能的软件
- 引擎—客户端服务器应用程序(CE或Enterprise)
- 客户端—处理Docker CLI,以便您可以与守护程序进行通信
- Daemon—Docker服务器,管理关键内容
- 卷—持久数据存储
- 注册表—远程映像存储
- Docker Hub—默认和最大的Docker 注册表
- 存储库—Docker图像的集合,例如Alpine
缩放比例
- 网络—将容器连接在一起
- 撰写—节省多容器应用程式的时间
- Swarm—协调容器部署
- 服务—生产中的集装箱
因为我们遵循食物的隐喻,所以我们为引入了另一个相关术语:Kubernetes。
图:再加一层甜甜圈并洒上糖果
Kubernetes自动执行容器化应用程序的部署、扩展和管理。它是容器编排市场的赢家,代替Docker Swarm,使用Kubernetes来扩展具有多个Docker容器的项目。Kubernetes不是Docker的官方部分,它更像是Docker的BFF。
图:Kubernetes
现在您已经了解了Docker的概念和常用术语,那么我建议您尝试使用Docker。
使用Docker
Docker在Linux、Mac和Windows上本地运行。如果您使用的是Mac或Windows计算机,请在此处安装最新稳定版本的Docker Desktop 。作为奖励,它附带Kubernetes。如果要在其他地方安装Docker,请转到此处查找所需的版本。
安装Docker之后,执行Docker教程的前两部分。
总结
以上就是关于Docker的十二个术语的相关内容。在本系列的下三个部分中,我们将深入研究Dockerfile指令,请持续关注我们。