文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
2 技术原理篇
图 1 容器技术与 VM 技术的比较
Docker 容器通过 Docker 镜像来创建。
容器与镜像的关系类似于面向对象编程中的对象与类。
图 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 Daemon | Docker 守护进程。运行在宿主机(Docker Host) 的后台进程(linux 里此进程名为 dockerd),可通过 Docker 客户端与之通信。 |
Docker Machine | Docker Machine 是一个简化 Docker 安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装 Docker,比如 VirtualBox、 Digital Ocean、Microsoft Azure。 |
备注:docker 客户端和服务端 daemon 可以在同一台机器也可分布在不同机器。
docker service: 服务。docker 启动的一个服务。
docker stack: 指的是一个服务集。 一个 swarm 集群中可以启动多个 stack, 一个 stack 中可以有多个服务,一个服务可以有多个分片(容器), 启动一个 stack 默认创建一个网络。功能类似 docker-compose。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论