Docker是如何工作的?
什么是 Docker? Docker 是一个容器化工具,使开发人员能够轻松地打包、发布、部署和运行他们的应用程序。 如果您的应用程序需要安装 Node.js、Express、MongoDB 和 Redis,您必须在您的机器上手动安装它们。根据操作系统的不同,这可能会变得乏味,而且很多事情都可能出错。 但是,使用 Docker,所有这些配置、服务、依赖项都已安装,您所要做的就是在容器中运行映像。您不
什么是 Docker?
Docker 是一个容器化工具,使开发人员能够轻松地打包、发布、部署和运行他们的应用程序。
如果您的应用程序需要安装 Node.js、Express、MongoDB 和 Redis,您必须在您的机器上手动安装它们。根据操作系统的不同,这可能会变得乏味,而且很多事情都可能出错。
但是,使用 Docker,所有这些配置、服务、依赖项都已安装,您所要做的就是在容器中运行映像。您不再需要自己直接安装任何东西。
图像与容器
图片
-
包含实际运行程序所需的源代码、配置、依赖项、工具等的文件
-
这是可以移动的实际包/工件。
容器
-
在运行时创建的实际运行映像的虚拟化环境。
-
容器实际上是在自己的虚拟环境中运行镜像的。
Docker 与虚拟机
要了解 Docker,我们需要了解操作系统及其层。
应用层是您与之交互的一切。这将包括任何桌面应用程序、IDE、互联网等。此应用程序层运行在内核之上。
该操作系统内核处理设备管理、内存管理、资源管理和访问计算机资源。它与包括 RAM、CPU 等在内的硬件进行通信。
码头工人
-
使用Docker,应用层被虚拟化。
-
Docker 容器运行/启动更快!
-
图像更小。
虚拟机
-
VM 虚拟化了应用层和操作系统内核。
-
VM 可以在任何主机上运行操作系统。但是,使用 Docker,您不能。
Docker 引擎
- 安装 Docker 时,您会在后台安装 Docker 引擎。
Docker 引擎由三个组件组成:
- 服务器
-
负责拉取图片
-
负责管理镜像和容器
- API
- 负责与docker服务器交互
- 命令行
- 这是负责执行 docker 命令的客户端
Docker的架构
-
Docker 使用客户端-服务器架构。
-
Docker 的客户端(CLI)与 Docker 服务器(守护进程)对话,后者负责构建、运行、分发容器的繁重工作。
-
当我们谈到守护进程时,它只是一个名为 dockerd 的进程在后台运行,等待 API 的任何请求
-
docker daemon (dockerd) 监听 Docker API 请求并管理 docker 对象(图像、容器、网络和卷)。
-
守护进程还可以与其他守护进程通信以管理服务。
Docker 服务器的职责:
- 容器运行时
- 负责拉取镜像和管理容器生命周期。
- 卷
- 负责在容器停止运行或出现问题时将数据保存在容器中。
- 网络
- 负责为容器通信配置网络
- 构建docker镜像的功能。
更多推荐
所有评论(0)