快捷搜索:  汽车  科技

docker 快速入门:这可能是最为详细的Docker入门吐血总结

docker 快速入门:这可能是最为详细的Docker入门吐血总结我们将剖析一下 Docker 容器是如何工作的,学习好 Docker 容器工作的原理,我们就可以自己去管理我们的容器了。Docker 命令使用 Docker API 。Docker 客户端可以与多个服务端进行通信。容器可以理解为一个轻量级的沙箱,Docker 利用容器来运行和隔离应用,容器是可以被启动、停止、删除的,这并不会影响 Docker 镜像。我们可以看看下面这幅图:Docker 客户端是 Docker 用户与 Docker 交互的主要方式。当您使用 Docker 命令行运行命令时,Docker 客户端将这些命令发送给服务器端,服务端将执行这些命令。

输出这段提示以后,hello world 就会停止运行,容器自动终止。有些容器不会自动终止,因为提供的是服务,比如 MySQL 镜像等。

是不是很 Easy 呢?我们从上面可以看出,Docker 的功能是十分强大的,除此之外,我们还可以拉取一些 Ubuntu,Apache 等镜像,在未来的教程中我们将会一一提到。

Docker 提供了一套简单实用的命令来创建和更新镜像,我们可以通过网络直接下载一个已经创建好了的应用镜像,并通过 Docker RUN 命令就可以直接使用。

当镜像通过 RUN 命令运行成功后,这个运行的镜像就是一个 Docker 容器啦。

容器可以理解为一个轻量级的沙箱,Docker 利用容器来运行和隔离应用,容器是可以被启动、停止、删除的,这并不会影响 Docker 镜像。

我们可以看看下面这幅图:

docker 快速入门:这可能是最为详细的Docker入门吐血总结(1)

Docker 客户端是 Docker 用户与 Docker 交互的主要方式。当您使用 Docker 命令行运行命令时,Docker 客户端将这些命令发送给服务器端,服务端将执行这些命令。

Docker 命令使用 Docker API 。Docker 客户端可以与多个服务端进行通信。

我们将剖析一下 Docker 容器是如何工作的,学习好 Docker 容器工作的原理,我们就可以自己去管理我们的容器了。

Docker 架构

在上面的学习中,我们简单地讲解了 Docker 的基本架构。了解到了 Docker 使用的是 C/S 结构,即客户端/服务器体系结构。

明白了 Docker 客户端与 Docker 服务器进行交互时,Docker 服务端负责构建、运行和分发 Docker 镜像。

知道了 Docker 客户端和服务端可以运行在一台机器上,我们可以通过 RESTful 、Stock 或网络接口与远程 Docker 服务端进行通信。

我们从下图可以很直观的了解到 Docker 的架构:

docker 快速入门:这可能是最为详细的Docker入门吐血总结(2)

Docker 的核心组件包括:

  • Docker Client
  • Docker Daemon
  • Docker Image
  • Docker Registry
  • Docker Container

Docker 采用的是 Client/Server 架构。客户端向服务器发送请求,服务器负责构建、运行和分发容器。

客户端和服务器可以运行在同一个 Host 上,客户端也可以通过 Socket 或 REST API 与远程的服务器通信。

可能很多朋友暂时不太理解一些东西,比如 REST API 是什么东西等,不过没关系,在后面的文章中会一一给大家讲解清楚。

Docker Client

Docker Client ,也称 Docker 客户端。它其实就是 Docker 提供命令行界面(CLI)工具,是许多 Docker 用户与 Docker 进行交互的主要方式。

客户端可以构建,运行和停止应用程序,还可以远程与 Docker_Host 进行交互。

最常用的 Docker 客户端就是 Docker 命令,我们可以通过 Docker 命令很方便地在 Host 上构建和运行 Docker 容器。

docker 快速入门:这可能是最为详细的Docker入门吐血总结(3)

Docker Daemon

Docker Daemon 是服务器组件,以 Linux 后台服务的方式运行,是 Docker 最核心的后台进程,我们也把它称为守护进程。

它负责响应来自 Docker Client 的请求,然后将这些请求翻译成系统调用完成容器管理操作。

该进程会在后台启动一个 API Server ,负责接收由 Docker Client 发送的请求,接收到的请求将通过 Docker Daemon 内部的一个路由分发调度,由具体的函数来执行请求。

docker 快速入门:这可能是最为详细的Docker入门吐血总结(4)

我们大致可以将其分为以下三部分:

  • Docker Server
  • Engine
  • Job

Docker Daemon 的架构如下所示:

docker 快速入门:这可能是最为详细的Docker入门吐血总结(5)

猜您喜欢: