Docker开启容器管理新时代(架构篇)

打印 上一主题 下一主题

主题 957|帖子 957|积分 2871

目次

Docker架构.
Docker架构
Docker 架构的工作流程
1、Docker 客户端(Docker Client)
常用命令:
2、Docker 保卫进程(Docker Daemon)

本文基于linux体系讲解
Docker架构.

Docker 架构是基于客户端-服务器模式的,其中包罗多个关键组件,确保容器化应用的高效构建、管理和运行。
Docker 的架构设计使得开辟者可以或许轻松地将应用步调与其所有依靠封装在一个可移植的容器中,并在不同的情况中一致地运行。
Docker 利用客户端-服务器 (C/S) 架构模式,利用远程 API 来管理和创建 Docker 容器。
Docker 容器通过 Docker 镜像来创建。
容器与镜像的关系类似于面向对象编程中的类与对象(镜像是个模板,定义了容器运行的情况和配置,而容器是它的具体实例)同一镜像可以在多个容器中分别运行,表现了docker管理的快捷有效与分立。
Docker架构


架构分析

Client(客户端) 客户端是用户与Docker交互的主要方式,通过命令行工具向Docker保卫进程发送指令。图中显示了三个常用命令:
- docker run:用于创建并运行一个新的容器。
- docker build:用于根据Dockerfile构建一个新的镜像。
- docker pull:用于从Registry中拉取镜像到本地。
 Docker Host(Docker主机) Docker主机是运行Docker保卫进程(Docker daemon)的地方,负责管理镜像和容器。
- Docker daemon:Docker保卫进程,负责吸收并处置惩罚来自客户端的指令,如构建、运行和拉取镜像等操作。
- Images:镜像存储在Docker主机上,是创建容器的模板。图中显示了Python、Redis和Nginx等示例镜像。 - Containers:容器是镜像的运行实例,图中展示了容器的图标。
 Registry(堆栈) Registry是存储和共享Docker镜像的地方,分为公共堆栈(如Docker Hub)和私有堆栈。
- Images:存储各种镜像,如Nginx、Redis、PostgreSQL等。
- Extensions:扩展,可能包含一些额外的功能或工具。
- Plugins:插件,用于增强Docker的功能。
交互流程
1. 客户端发送指令:用户通过客户端发送docker run、docker build或docker pull等指令。
2. Docker保卫进程处置惩罚指令:Docker daemon吸收指令,执行相应的操作,如构建镜像、运行容器或从Registry拉取镜像。
3. 与Registry交互:假如需要拉取镜像,Docker daemon会从Registry中获取镜像;假如构建了新的镜像,也可以将其推送到Registry中进行共享。 通过这种架构,Docker提供了一种高效、便捷的方式来管理和摆设应用步调及其依靠情况。
Docker 架构的工作流程



  • 构建镜像:利用 Dockerfile 创建镜像。
  • 推送镜像到注册表:将镜像上传到 Docker Hub 或私有注册表中。
  • 拉取镜像:通过 docker pull 从注册表中拉取镜像。
  • 运行容器:利用镜像创建并启动容器。
  • 管理容器:利用 Docker 客户端命令管理正在运行的容器(例如查看日志、克制容器、查看资源利用情况等)。
  • 网络与存储:容器之间通过 Docker 网络毗连,数据通过 Docker 卷或绑定挂载进行长期化。
接下来让我们深入探讨 Docker 的核心组件及其工作机制。
1、Docker 客户端(Docker Client)

Docker 客户端是用户与 Docker 保卫进程交互的命令行界面(CLI)。它是用户与 Docker 体系的主要交互方式,用户通过 Docker CLI 发出命令,这些命令被发送到 Docker 保卫进程,由保卫进程执行相应的操作。


  • 功能:允许用户利用命令与 Docker 保卫进程通信,如创建容器、构建镜像、查看容器状态等。
  • 交互方式:Docker 客户端与 Docker 保卫进程之间通过 REST API 或 Unix 套接字通信。常用的命令行工具是 docker,通过它,用户可以发出各种 Docker 操作命令。
常用命令:



  • docker run:运行容器。
  • docker ps:列出正在运行的容器。
  • docker build:构建 Docker 镜像。
  • docker exec:在容器中执行命令。
2、Docker 保卫进程(Docker Daemon)

Docker 保卫进程(通常是 dockerd)是 Docker 架构的核心,负责管理容器生命周期、构建镜像、分发镜像等任务。
保卫进程通常以后台进程的方式运行,等待来自 Docker 客户端的 API 请求。
功能


  • 启动和克制容器。
  • 构建、拉取和推送镜像。
  • 管理容器的网络和存储。
  • 启动、克制、查看容器日志等。
  • 与 Docker 注册表进行通信,管理镜像的存储与分发。
Docker 保卫进程监听来自 Docker 客户端的请求,并且通过 Docker API 执行这些请求。保卫进程将负责容器、镜像等 Docker 对象的管理,并根据请求的参数启动容器、删除容器、修改容器配置等。
启动 Docker 保卫进程(通常是主动启动的):
  1. sudo systemctl start docker
复制代码
3、Docker 引擎 API(Docker Engine API)

Docker 引擎 API 是 Docker 提供的 RESTful 接口,允许外部客户端与 Docker 保卫进程进行通信。通过这个 API,用户可以执行各种操作,如启动容器、构建镜像、查看容器状态等。API 提供了 HTTP 请求的接口,支持跨平台调用。
功能


  • 向 Docker 保卫进程发送 HTTP 请求,实现容器、镜像的管理。
  • 提供 RESTful 接口,允许通过编程与 Docker 进行交互。
可以通过 curl 或其他 HTTP 客户端访问 Docker 引擎 API。例如,查询当前 Docker 保卫进程的版本:
  1. curl --unix-socket /var/run/docker.sock http://localhost/version
复制代码
4、Docker 容器(Docker Containers)

容器是 Docker 的执行情况,它是轻量级、独立且可执行的软件包。容器是从 Docker 镜像启动的,包含了运行某个应用步调所需的一切——从操作体系库到应用步调代码。容器在运行时与其他容器和宿主机共享操作体系内核,但容器之间的文件体系和进程是隔离的。
功能


  • 提供独立的运行情况,确保应用步调在不同的情况中具有一致的行为。
  • 容器是临时的,通常在任务完成后被销毁。
容器的生命周期是由 Docker 保卫进程管理的。容器可以在任何地方运行,因为它们不依靠于底层操作体系的配置,所有的运行时依靠已经封装在镜像中。
启动一个容器:
  1. docker run -d ubuntu
复制代码
5、Docker 镜像(Docker Images)

Docker 镜像是容器的只读模板。每个镜像都包含了应用步调运行所需的操作体系、运行时、库、情况变量和应用代码等。镜像是静态的,用户可以根据镜像启动容器。
功能


  • 镜像是构建容器的基础,每个容器实例化时都会利用镜像。
  • 镜像是只读的,不同容器利用同一个镜像时,容器中的文件体系层是独立的。
Docker 镜像可以通过 docker pull 从 Docker Hub 或私有注册表拉取,也可以通过 docker build 从 Dockerfile 构建。
拉取 Ubuntu 镜像:
  1. docker pull ubuntu
复制代码
6. Docker 堆栈(Docker Registries)

Docker 堆栈是用来存储 Docker 镜像的地方,最常用的公共堆栈是 Docker Hub。用户可以从 Docker Hub 下载镜像,也可以上传自己的镜像分享给其他人。除了公共堆栈,用户也可以摆设自己的私有 Docker 堆栈来管理企业内部的镜像。
功能


  • 存储 Docker 镜像。
  • 提供镜像的上传和下载功能。
Docker Hub 提供了大量官方和社区维护的镜像,如 Ubuntu、Nginx、MySQL 等。
推送镜像到 Docker Hub:
  1. docker push <username>/<image_name>
复制代码
除了上述主要的docker命令,以下是一些dokcer深层次的应用,是不是已经感觉很繁多复杂了,总的来说

Docker 就像是给应用步调准备的一个盒子,里面有运行需要的所有东西。和anaconda相似,可以提供分立情况,方便管理

7、Docker Compose

8、Docker Swarm
9、Docker 网络(Docker Networks)
10. Docker 卷(Docker Volumes)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

惊落一身雪

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表