返回介绍

2 技术原理篇

发布于 2024-09-08 18:52:59 字数 1961 浏览 0 评论 0 收藏 0

1574518833495

图 1 容器技术与 VM 技术的比较

Docker 容器通过 Docker 镜像来创建。

容器与镜像的关系类似于面向对象编程中的对象与类。

1574518854525

图 2 Docker 架构

说明: Docker 使用客户端-服务器 (C/S) 架构模式,Docker daemon 作为服务端一般在宿主主机后台运行,等待接收来自客户端的消息。 Docker 客户端则为用户提供一系列可执行命令(创建 build、运行 run、分发 pull 容器),用户用这些命令实现跟 Docker daemon 交互。

客户端和服务端既可以运行在一个机器上,也可通过 socket 或者 RESTful API 来进行通信。

表格 2 Docker 组件说明表

组件说明
Docker 镜像(Images)Docker 镜像是用于创建 Docker 容器的只读模板,它包含创建 Docker 容器的说明。
Docker 容器(Container)容器是独立运行的一个或一组应用,镜像的可运行实例。镜像和容器的关系类似面向对象中的类和对象的关系。
Docker 客户端(Client)Docker 客户端通过命令行或者其他工具使用 Docker API ( https://docs.docker.com/reference/api/docker_remote_api ) 与 Docker 的守护进程通信。比如 docker,docker-compose
Docker 主机(Host)一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。
Docker 仓库(Registry)Docker 仓库用来保存镜像,类似代码控制中的代码仓库。可分为公有和私有仓库。Docker Hub( https://hub.docker.com ) 是官方也是默认的 Docker 仓库,存放着海量镜像,并可通过 docker 命令下载并使用。
Docker DaemonDocker 守护进程。运行在宿主机(Docker Host) 的后台进程(linux 里此进程名为 dockerd),可通过 Docker 客户端与之通信。
Docker MachineDocker Machine 是一个简化 Docker 安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装 Docker,比如 VirtualBox、 Digital Ocean、Microsoft Azure。

备注:docker 客户端和服务端 daemon 可以在同一台机器也可分布在不同机器。

  • docker service: 服务。docker 启动的一个服务。

  • docker stack: 指的是一个服务集。 一个 swarm 集群中可以启动多个 stack, 一个 stack 中可以有多个服务,一个服务可以有多个分片(容器), 启动一个 stack 默认创建一个网络。功能类似 docker-compose。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文