Docker 1.12 中的单机 Swarm

ken*_*ken 5 docker docker-compose docker-swarm

我想docker-compose在我的开发环境中创建文件并使用它来启动一台机器“群”。目标是让开发环境尽可能与 CI、QA 和 Prod 环境保持一致

我一年多以前使用过 docker,但发生了很多变化,我对使用 1.12 作为我的平台非常感兴趣。我的问题如下:

  1. “节点”和“物理机”有什么区别?一台机器(又名开发人员笔记本电脑)可以托管多个节点吗?我的猜测是一个节点是虚拟的,我应该能够拥有多个但不确定它。
  2. 假设对#1 的回答是可能的......这些不同的节点是否有任何理由不能成为“群工作者”以及在笔记本电脑上运行的单一“管理器”?

注意:我知道 VM 可以模拟其他机器——许多示例都是从这样做开始的——但我想避免运行任何 VM 以降低运行此设置的资源成本

有没有人可以参考我的单节点群的好例子?

BMi*_*tch 5

docker swarm 中的节点是在 swarm 中配置的 docker 引擎的一个实例(使用 init 或 join)。一个 docker 引擎的实例最多只能加入一个 swarm(所以 0 或 1),所以你不能在同一个引擎上创建多个节点。测试 swarm 中多个节点的典型开发人员安装是启动多个 VM,每个 VM 都有一个 docker 安装。

您可以与一个也是工人的单一经理组成一个群。在集群中安排的任务可以像在工作人员一样安排在经理身上。工人没有管理集群的能力,但管理人员拥有工人的所有能力。如果你只想能够运行docker service命令,你可以docker swarm init自己做一个,然后在那里定义你的服务。