什么是 Docker?

Docker 是一个容器化工具,使开发人员能够轻松地打包、发布、部署和运行他们的应用程序。

如果您的应用程序需要安装 Node.js、Express、MongoDB 和 Redis,您必须在您的机器上手动安装它们。根据操作系统的不同,这可能会变得乏味,而且很多事情都可能出错。

但是,使用 Docker,所有这些配置、服务、依赖项都已安装,您所要做的就是在容器中运行映像。您不再需要自己直接安装任何东西。

图像与容器

图片

  • 包含实际运行程序所需的源代码、配置、依赖项、工具等的文件

  • 这是可以移动的实际包/工件。

容器

  • 在运行时创建的实际运行映像的虚拟化环境。

  • 容器实际上是在自己的虚拟环境中运行镜像的。


Docker 与虚拟机

要了解 Docker,我们需要了解操作系统及其层。

Docker 鲸鱼标志

应用层是您与之交互的一切。这将包括任何桌面应用程序、IDE、互联网等。此应用程序层运行在内核之上。

该操作系统内核处理设备管理、内存管理、资源管理和访问计算机资源。它与包括 RAM、CPU 等在内的硬件进行通信。

码头工人

  • 使用Docker,应用层被虚拟化。

  • Docker 容器运行/启动更快!

  • 图像更小。

虚拟机

  • VM 虚拟化了应用层和操作系统内核。

  • VM 可以在任何主机上运行操作系统。但是,使用 Docker,您不能。


Docker 引擎

  • 安装 Docker 时,您会在后台安装 Docker 引擎。

Docker 引擎由三个组件组成:

  1. 服务器
  • 负责拉取图片

  • 负责管理镜像和容器

  1. API
  • 负责与docker服务器交互
  1. 命令行
  • 这是负责执行 docker 命令的客户端

Docker的架构

  • Docker 使用客户端-服务器架构。

  • Docker 的客户端(CLI)与 Docker 服务器(守护进程)对话,后者负责构建、运行、分发容器的繁重工作。

  • 当我们谈到守护进程时,它只是一个名为 dockerd 的进程在后台运行,等待 API 的任何请求

  • docker daemon (dockerd) 监听 Docker API 请求并管理 docker 对象(图像、容器、网络和卷)。

  • 守护进程还可以与其他守护进程通信以管理服务。


Docker 服务器的职责:

  1. 容器运行时
  • 负责拉取镜像和管理容器生命周期。
  • 负责在容器停止运行或出现问题时将数据保存在容器中。
  1. 网络
  • 负责为容器通信配置网络
  1. 构建docker镜像的功能

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐