docker架构组成(docker容器的概念)2
docker容器的概念
这种 Docker技术使用 Linux内核(如 Cgroups 和命名空间)来分离进程并使它们在没有任何依赖关系的情况下运行。这一独立的特性使 docker 成为一个成功的特性,它通过同时运行单个实例或应用程序并更好地利用基础设施。Docker 和容器工具提供了基于镜像的部署模型,这使得跨多个环境共享应用程序变得容易。构建在容器之上的工具使 Docker 独特、快速、灵活、独立且用户友好。在本主题中,我们将了解 Docker 架构。
什么是docker?
Docker 一词包含多种内容,例如来自开源项目的工具、项目的主要支持者以及公司直接支持的工具。在 IT 领域,Docker 是一种容器化技术,用于创建和使用 Linux 容器。开源 docker 社区致力于增强这些技术,以便为用户带来更多好处。建立在 Docker 社区之上的企业使其更可靠、更安全,并为企业提供便利和共享高级功能。使用 Docker,可以轻松控制轻量级、模块化和虚拟机等容器,还可以用于创建、部署、复制和将它们从周围环境移动到周围环境。
Docker 架构组成
Docker Engine 是整个系统的重要组成部分。Docker Engine 是一种遵守客户端-服务器基础架构的服务,它设置在guest 机器上。
重要的三个组成部分是
- 服务器:服务器是名为 dockerd 的 docker 守护进程,它可以管理和创建 Docker 容器、镜像、网络等
- Rest API:Rest API 在其进程上控制 docker 守护进程
- CLI: Command Line Interface 是一个用户界面,用于在 docker 中输入命令
Docker Client:Docker 的用户可以通过主机与 Docker 进行通信。如果有任何 docker 命令运行,主机会将它们移动到 docker 守护进程,后者将它们取出。来自 docker 的 docker handle API 的命令。Docker 客户端可以启用与多个实例的交互。
Docker注册表: Docker hub 是公共注册表的 Docker 镜像的存储位置。它既可以用作私有 docker 注册表,也可以用作公共 docker 注册表。客户还可以创建和执行他们自己的私有注册表。
Docker 对象
与 Docker 一起运行的客户端使用卷、容器、镜像、网络和所有可用的 Docker 对象。
1. 镜像
docker 的镜像是只读标准的,带有用于设计新 docker 容器的命令。可以从 docker 的集线器中检索并使用 docker 的镜像。它可以为最后一个镜像添加额外的步骤并设计一个修改后的 docker 镜像。客户端可以使用 docker 文件创建他的 docker 镜像。第一步是创建一个容器来创建一个 docker 文件,并根据需要的指令创建自己的 docker 镜像。Docker镜像,底层是只读的,第一层是可以写的。客户端只能编辑和修改 docker 镜像的顶层。
2. 容器
运行 docker 镜像后会创建一个 Docker 容器。所有实例和应用程序都在容器内运行。客户端可以使用 Docker API 来删除、启动或停止容器。
这是一个执行 docker 容器的示例命令:
docker run -it ubuntu /bin/bash
3. Volumes (卷)
docker 执行的当前数据被 Docker 容器利用并保存在 Volumes 中。整个系统通过docker的API进行控制。适用于Linux 和 Windows平台的卷。相反,要在容器的可编辑层中编辑信息,最好利用卷来写入卷的内容存在于容器之外,因此不会影响容器的大小和属性
使用 -v 或 –mount 标志在容器中启动卷。
如果客户端将极客卷与容器一起使用,
docker run -d –name geekflare -v geekvolume:/app nginx: latest
4. Networks(网络)
Docker 网络是所有隔离容器的通信通道。
在docker的网络驱动程序:该桥接是容器固定网络驱动程序。客户端为在自支持容器上运行的应用程序占用这个网络,即许多容器与常见的 docker 主机交互。主机是一个驱动程序,它消除了 docker 容器和 docker 主机之间的网络隔离。
Overlay:网络提供团队服务以与他人交互。仅当容器在由许多应用程序生成的多个 Docker 来宾或团队服务上执行时才适用。断开所有网络连接的驱动程序称为无驱动程序。
Macvlan:驱动程序在 MAC 中为所有容器分配一个唯一的地址,使其类似于硬件系统。他们使用 MAC 地址控制容器之间的流量。如果需要,将启用网络。例如,当迁移虚拟机设置时。
好处
让我们看看 Docker 的一些好处。
- 投资回报和成本节约: Docker 可以通过促进最少的基础设施资源来降低成本。由于在简单设置上运行的广泛应用,它使工程系统具有成本效益。
- 标准化和生产力: Docker 通过为生产环境中的服务器提供持续开发、部署和测试来提供标准化。它很快,允许进行复制和冗余。
- CI效率:它构建了docker镜像,同样有效地用于整个部署过程。
- 兼容性和可维护性:更便携,更易于安装和调试。
- 简单和更快的配置:数据可以在几分之一秒内在可承受的范围内以最短的响应时间创建和销毁。
- 快速部署:它可以将部署管理到秒级,适用于各种环境
- 持续部署和测试: Docker 确保从开发到生产的逻辑环境。Docker 容器被配置为在内部管理所有配置和依赖项。因此,客户可以从开发到生产使用同一个容器,没有差异或人工干预。
结论
Docker 支持 AWS、GCP 等多云平台,并允许实例在亚马逊 EC2 实例、空间服务器或虚拟机中运行。它还支持 Microsoft Azure,这是一个用于管理 Chief、Puppet 和 ansible 的开放堆栈。使用 docker 的好处是安全。Docker 检查容器上运行的实例是否完全分离和相互隔离,提供对流量和管理的控制。当客户端运行 docker pull 或 docker run 命令时,所需的 docker 镜像将从配置的注册表中拉取。当客户端运行 docker push 命令时,docker 镜像存储在配置的注册表中。
推荐文章
这是 Docker 架构的指南。在这里,我们讨论架构、对象和 Docker 与网络驱动程序的好处。
本文是docker快速入门教程系列的一部分您也可以查看以了解更多信息 –
常见问题FAQ
- 程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
- 请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!