问题标签 [docker-swarm-mode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
7410 浏览

docker - 如何在 docker engine swarm 模式下跨多个主机共享卷?

我们可以在 docker engine swarm 模式下跨多个主机共享一个公共/单个命名卷,最简单的方法是什么?

0 投票
2 回答
862 浏览

docker - 在具有多种系统架构的 swarm 上运行 docker 服务

我想使用新的 docker swarm mode在我的笔记本电脑 (x86_64) 和 Raspberry Pis (armhf) 集群上测试我的分布式算法。

经过一堆配置,我可以成功创建 swarm 集群,由一个管理节点(笔记本电脑)和 N+1 个工作节点(N rasps,加上我的笔记本电脑)组成。它看起来像这样:

现在,我为我的项目构建了两个镜像:一个 x86_64 镜像 ( my_project:x86_64) 和一个 armhf 镜像 ( my_project:armhf)。我真的很喜欢这种新的 swarm 模式的节点/服务架构,因为创建 M(准)独立节点正是我想要的,但是如何使用docker service create ...命令将正确的图像提供给正确的节点呢?

据我所知,docker service create只取一张图片作为参数!我在这里看到我可以给每个节点一个标签,并要求服务只使用具有这个特定标签的节点,但这不是我想要的。我最终会管理两个按架构划分的任务集群,这会粉碎我利用 swarm 模式的调度程序和调度程序的愿望。

我是他追求便携性的可悲极客,这就是我!

PS:注意,这有标签“docker-swarm-mode”,而不是“docker-swarm”标签,因为docker swarmdocker swarm mode是两个不同的东西。

0 投票
0 回答
816 浏览

docker-swarm-mode - 为什么两个 docker swarm 节点名称相同?

我是一个 Docker swarm 模式新手,正在阅读https://docs.docker.com/engine/swarm/swarm-tutorial上的教程,并在我点击关于排水节点的章节时注意到(https://docs.docker.com /engine/swarm/swarm-tutorial/drain-node/)我的两个工作节点都被赋予了相同的名称,moby

这使得发出 drain 命令失败:

如果我使用 ID,则该命令有效。

我看到了Docker swarm:如何手动设置节点名称?,但我的环境不同。我的管理器节点是一个带有主机名的 Ubuntu 盒子bunty,我的工人是一个带有主机名的 Windows 盒子VADER和我的带有主机名的 MacBook Pro newt。所有人都在运行最新版本的 Docker 1.12.x。

我希望节点名称分别为bunty, VADER, & newt,但我却得到bunty了经理 &moby两个工人的名字。

是什么赋予了?命令中似乎没有docker swarm join让我手动命名节点的选项,并且每个工作人员都有一个唯一的主机名。

0 投票
1 回答
672 浏览

docker-swarm-mode - 关于带有过滤器、策略、亲和力等的 docker swarm 模式

我已经开始使用 docker swarm 模式,但我无法找到关于传统 swarm 所涵盖的很多东西的可靠信息。有谁知道以下的事情??

  1. 有哪些过滤器可用?曾经有约束、健康和容器槽,但不确定在创建服务时如何设置、更改或使用该过滤器。我通过将“--constraint node.labels.FOO==BAR”传递给 docker service create 来获得约束标签,但不确定其他过滤器。

  2. 你如何设置亲和力,依赖关系,端口?传递“-e”似乎不起作用..

  3. 无论如何要制定策略...?

  4. 不是特定于 swarm,但有什么方法可以检查容器保留了多少 CPU 或内存?在 docker info 中找不到相关信息。

  5. 这个问题也不是特定于 swarm。有没有办法限制磁盘和网络带宽?

我指的是这个=> https://docs.docker.com/swarm/scheduler/filter/,但我找不到一个集群模式。认真地应该致力于改进群模式文档......

0 投票
0 回答
432 浏览

docker - 如何在 docker swarm 模式下实现 cpu-throttling:docker service create

我们可以使用 docker run 命令分配 cpu-quota 和 cpu-period。如何使用 docker service create 命令实现相同的功能?

在 docker 1.12 swarm 模式下,只有“--limit-cpus”选项。

0 投票
1 回答
699 浏览

docker - Docker Swarm 服务网络

对于 DevOps 大学项目,我们的任务是使用 docker 和 Jenkins 等构建 Web 视频流服务。我们完全可以自由支配我们的工作方式...... Swarm 看起来很有趣,所以我想我会给它一个去(因为它进行复制可能会给我一些奖励积分)。

我的背景是数据(python 很有趣),所以服务器和网络等不是我的强项。此外,这一切都是在我的机器上本地完成的。

我正在努力与实际的 docker 服务进行通信(softinstigate/restheart 图像与 Mongodb 服务进行通信)。

它在两台 docker 机器上复制。然后连接到本地网络,本地网络又连接到另一个“代理”覆盖网络。

那么,如何连接到特定的 restheart api 服务以获取 HTML 页面的一些数据?普通容器构建等将是 localhost:chosenport。但我相信 docker-machines 是不同的 IP 地址?端口号是怎么定义的?

本质上,一个人如何从一个网站页面连接到一个群体中的特定服务?

我找到了几篇文章可以通读,但当时无法理解。想我可能已经尝试将 localhost 地址更改为领导群节点的 IP 地址,这似乎不起作用(但这是不久前的事了)。

用于设置的 Docker 命令在我的手机上运行。

0 投票
1 回答
244 浏览

docker - Docker 服务已更新时间戳

Docker Swarm API 客户端具有以下服务元信息:

这是最后一次用户启动的时间戳update(例如更改服务配置)还是服务更改的时间戳即使是 Docker Swarm 也会执行?

例如,如果我的 swarm 服务有 5 个任务分布在集群中,然后 Docker 出于某种原因将一个任务从一个节点移动到另一个节点(因此服务配置不会更改);它会更新这个字段吗?

0 投票
2 回答
5881 浏览

docker - 在 Docker Swarm 模式中使用副本的主要优势是什么?

我很难理解replicaDocker Swarm Mode 中实例的概念。我读过它是一个有助于高可用性的功能。

但是,即使为服务定义了 1,如果一个节点出现故障,Docker 也会自动在另一个节点上启动一个新任务replica,这也提供了高可用性。

replica那么对于任意服务来说,拥有 3 个实例而不是 1 个实例有什么好处呢?我的假设是,有了更多的副本,Docker 在发生故障时花费更少的时间在另一个节点上创建新实例,这有助于提高性能。它是否正确?

0 投票
1 回答
600 浏览

docker - Docker 在 compose/swarm 模式下的使用

我对 docker 很陌生,我需要一些关于分发我的应用程序的帮助。

考虑一下:

  • 我有一个物理机池,每台都运行最新版本的 docker。

  • 我的“应用程序 A”有几个容器。为了在此定义中明确,应用程序将是在一个容器、4 个消息传递容器和一个主容器中运行的数据库。所有 6 个容器都需要相互通信。数据库、消息传递等容器将是“服务”。

  • 我还可以拥有“应用程序 B”、“应用程序 C”和“应用程序 N...”,它们的大小和配置与“应用程序 A”略有不同。应用程序之间不相互通信并且完全独立。

要求:

  • 所有应用程序“A,B,C..N”必须使用相同的物理机池。
  • 如果需要,每个应用程序的每个服务都必须在不同的物理机器上运行。
  • 您可能希望限制如何将每个服务分配给每个物理机
  • 我需要“即时”创建应用程序

我的第一个想法是使用 docker-compose 来定义一个应用程序和几个 dockerfile 来定义其中的服务。但如果我这样做,每个应用程序都将在同一个 docker 引擎中运行,因此在同一个物理机器上运行。

我已经读到您可以将 docker compose 部署到 docker swarm 中。在这种情况下,docker swarm 将充当 docker 引擎。但是,我找不到任何关于如何做到这一点的例子,而且我不确定这些限制。

我的第二个想法是使用群模式。我会创建一个集群,并在其上运行服务。但是,我会失去“应用程序”的概念。群中会有一堆服务,我无法管理它们之间的通信方式。

所以,鉴于这个问题:

  • 有什么假设或陈述我错了吗?
  • 场景中推荐的 docker 工具用法是什么?
0 投票
0 回答
160 浏览

nginx - Swarm:主机中的 Manager + VM 中的 Worker:worker 中没有容器

我正在尝试使用带有 docker swarm 的 nginx 容器部署 CDN。目前,我在主机中有管理器,并且在 VM 上使用 docker-machine 创建了一名工作人员:

我在主机上运行管理器:

然后,在worker1上,我运行:

在主机上,我创建了覆盖网络:

并创建了我的服务,有 10 个副本:

但是,如下图所示:

在管理器(主机)上,10 个副本中只有 5 个,而在 worker1 上

没有容器。

为什么?

如果我 cmddocker service ps nginx-cdn 有一些像这样的行:

但是我创建了一个名为“nginx-new:latest”的图像,如果我从这个图像创建了一个容器,它就可以工作。