Docker 在多台计算机上
Docker on several computers
为了一项研究,我使用 Docker 在我的计算机上部署了一个云架构。 (Nginx 用于将一些 Apache 服务器负载平衡到 运行 一个简单的 Php 应用程序。
我想知道是否可以使用多台计算机来部署我的容器以增加可用功率。
(我使用的是带 Yosemite 的 MacBook Pro。我已经用 Virtual box 安装了 boot2docker)
这听起来像是聚类,这就是 docker swarm
does (see its github repo)。
It turns a pool of Docker hosts into a single, virtual host.
参见示例issue 247: How replication control and load balancing being taken care of?
披露:我是 Swarm Legacy 和 Swarm 模式的维护者
Edit: This answer mentions Docker Swarm Legacy, the first version of Docker Swarm. Since then a new version called Swarm mode was directly included in the docker engine and behaves a bit differently in terms of topology and features even though the big ideas remain.
是的,您可以在多台机器上部署 Docker,并将它们作为一个资源池进行管理。您可以使用多种解决方案在多台机器上使用 docker.
编排容器
您可以使用 Docker Swarm, Kubernetes, Mesos/Marathon or Fleet. (there might be others as this is a fast-moving area). There are also commercial solutions like Amazon ECS。
在 Swarm 的情况下,它使用 Docker 远程 API 与远程 docker 守护进程通信,并根据负载或一些额外的约束(其他系统是具有或多或少的特征)。这是一个小型 Swarm 部署示例。
Docker CLI
+
|
|
| 4000 (or else)
| server
+--------v---------+
| |
+------------> Swarm Manager <------------+
| | | |
| +--------^---------+ |
| | |
| | |
| | |
| | |
| client | client | client
| 2376 | 2376 | 2376
| | |
+---------v-------+ +--------v--------+ +--------v--------+
| | | | | |
| Swarm Agent | | Swarm Agent | | Swarm Agent |
| Docker | | Docker | | Docker |
| Daemon | | Daemon | | Daemon |
| | | | | |
+-----------------+ +-----------------+ +-----------------+
选择其中一个系统基本上是在以下选项之间进行选择:
- 集群部署简单和维护
- 调度程序的灵活性
- API
的完整性
- 支持 运行 个 VM
- 容器组的更高抽象:Pods
- 网络模型(Bridge/Host or Overlay or Flat network)
- 与 Docker 遥控器的兼容性 API
这主要取决于用例和您的工作负载类型 运行。有关这些系统之间差异的更多详细信息,请参阅此 。
为了一项研究,我使用 Docker 在我的计算机上部署了一个云架构。 (Nginx 用于将一些 Apache 服务器负载平衡到 运行 一个简单的 Php 应用程序。
我想知道是否可以使用多台计算机来部署我的容器以增加可用功率。
(我使用的是带 Yosemite 的 MacBook Pro。我已经用 Virtual box 安装了 boot2docker)
这听起来像是聚类,这就是 docker swarm
does (see its github repo)。
It turns a pool of Docker hosts into a single, virtual host.
参见示例issue 247: How replication control and load balancing being taken care of?
披露:我是 Swarm Legacy 和 Swarm 模式的维护者
Edit: This answer mentions Docker Swarm Legacy, the first version of Docker Swarm. Since then a new version called Swarm mode was directly included in the docker engine and behaves a bit differently in terms of topology and features even though the big ideas remain.
是的,您可以在多台机器上部署 Docker,并将它们作为一个资源池进行管理。您可以使用多种解决方案在多台机器上使用 docker.
编排容器您可以使用 Docker Swarm, Kubernetes, Mesos/Marathon or Fleet. (there might be others as this is a fast-moving area). There are also commercial solutions like Amazon ECS。
在 Swarm 的情况下,它使用 Docker 远程 API 与远程 docker 守护进程通信,并根据负载或一些额外的约束(其他系统是具有或多或少的特征)。这是一个小型 Swarm 部署示例。
Docker CLI
+
|
|
| 4000 (or else)
| server
+--------v---------+
| |
+------------> Swarm Manager <------------+
| | | |
| +--------^---------+ |
| | |
| | |
| | |
| | |
| client | client | client
| 2376 | 2376 | 2376
| | |
+---------v-------+ +--------v--------+ +--------v--------+
| | | | | |
| Swarm Agent | | Swarm Agent | | Swarm Agent |
| Docker | | Docker | | Docker |
| Daemon | | Daemon | | Daemon |
| | | | | |
+-----------------+ +-----------------+ +-----------------+
选择其中一个系统基本上是在以下选项之间进行选择:
- 集群部署简单和维护
- 调度程序的灵活性
- API 的完整性
- 支持 运行 个 VM
- 容器组的更高抽象:Pods
- 网络模型(Bridge/Host or Overlay or Flat network)
- 与 Docker 遥控器的兼容性 API
这主要取决于用例和您的工作负载类型 运行。有关这些系统之间差异的更多详细信息,请参阅此