问题标签 [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 投票
1 回答
1710 浏览

docker - 错误:来自守护程序的错误响应:范围“全局”的数据存储未初始化

我成功地创建了一个有两个节点的群。但是,当我使用docker-compose build && docker-compose up它来启动我的项目时,它会崩溃并出错:

ERROR: Error response from daemon: datastore for scope "global" is not initialized

这是一个非常非常简单的过程:

docker run swarm create

群哈希1477bcd7778d083e02a80c352d4f1b87

docker-machine create -d virtualbox --swarm --swarm-master --swarm-discovery token://1477bcd7778d083e02a80c352d4f1b87 myswarmmaster

docker-machine create -d virtualbox --swarm --swarm-discovery token://1477bcd7778d083e02a80c352d4f1b87 myremotenode1

eval $(docker-machine env --swarm myswarmmaster)

docker-compose build && docker-compose up

然后我得到错误:

ERROR: Error response from daemon: datastore for scope "global" is not initialized

我在 Fedora 25 上运行 docker。

0 投票
1 回答
299 浏览

nginx - docker swarm mode nginx 在 2 个 swarm 集群之间

我正在尝试在 swarm 集群前创建一个代理。

该代理位于另一个 swarm 集群内部,以提供 HA。

这是当前的结构:

  1. 代理集群(ip范围192.168.98.100~192.168.98.102)
    • 代理管理器1;
    • 代理工作者1;
    • 代理工作者2;
  2. 应用集群(ip范围192.168.99.100~192.168.99.107)
    • 应用管理器1;
    • 应用管理器2;
    • 应用管理器3;
    • 应用程序工人1;
    • 应用工作者2;
    • 应用程序工作者3;
    • 应用程序工作者4;
    • 应用程序工人5;

当我使用 app-manager 的 IP 地址配置 nginx 时,代理重定向效果很好。

但是当我使用 app-manager 的主机名或 DNS 配置 nginx 时,代理服务找不到要重定向的服务器。

这是工作配置文件:

这是一个好习惯吗?或者也许我做错了?

0 投票
2 回答
24133 浏览

docker - 堆栈文件和 Compose 文件有什么区别?

我正在学习如何使用 Docker Compose 在多个容器中跨多个主机部署应用程序。而且我遇到了两个配置文件-堆栈文件和撰写文件。

Cloud stack file YAML reference中,它指出堆栈文件是 YAML 格式的文件,它定义了一个或多个服务,类似于docker-compose.yml文件但具有一些扩展名。

这篇文章中,它指出堆栈与 docker-compose 非常相似,只是它们定义了服务,而 docker-compose 定义了容器

它们看起来非常相似,所以我想知道何时使用堆栈文件,何时使用 Compose 文件?

0 投票
1 回答
5194 浏览

networking - 有没有办法重命名 Docker swarm 中的网络接口?

当使用 Docker swarm 模式并对外暴露端口时,你至少有三个网络,入口网络、桥接网络和覆盖网络(用于集群内部通信)。eth0-2容器使用(每次随机)接口之一加入这些网络,从应用程序的角度来看,很难理解其中哪个是集群网络(用于服务发现客户端发布的正确网络 - 例如 Spring Eureka)。有没有办法以某种方式自定义网络接口名称?

0 投票
0 回答
625 浏览

docker - 如何与 docker swarm 交互以更改调度程序中的策略

当 docker swarm 以独立模式和 swarm 模式发布时,主要功能之一是可以在 binpack 和 spread 之间更改调度程序。如果我在 docker-machine 中运行 docker swarm,我可以通过传递--swarm-strategy参数来选择策略,但如果我尝试在 swarm 模式下运行它,则在 CLI 命令中可以传递该参数。

我在 github 上的 docker 存储库中发现了一些问题,人们询问 binpack 和 spread 不同的新策略,但是,我再次没有找到如何更改它。再次查看 master 分支中的 docker 源代码,没有 CLI 命令与这些参数进行交互。

我知道如何通过 docker-machine 和 Standalone 与 docker 交互以发送这些参数,但我不知道使用 docker swarm 模式。我的问题是:使用 docker swarm 模式时如何更改策略?或者:什么时候可以?

0 投票
2 回答
10667 浏览

docker - docker service update vs docker stack deploy 与现有堆栈

在使用docker stack deploy. 据我所知,每个服务在创建时都固定在图像的 SHA256 摘要中,因此如果您重建并推送图像(具有相同标签)并尝试运行 a docker service update,则服务图像不会更新(即使 SHA256是不同的)。相反,如果docker stack deploy再次运行,所有服务都将更新为新图像。我还设法通过使用docker service update --image repository/image:tag <service>. 这是这些命令的正常行为还是我不明白的地方?

我正在使用 Docker 17.03.1-ce

0 投票
1 回答
315 浏览

nginx - docker swarm 模式(docker 1.13 & compose v3)真的提供零停机滚动更新或部署吗?

我有一个包含 10 个应用程序容器和前端 nginx 的堆栈。在堆栈中部署新的应用程序容器映像时,如果我对其运行 apachebenchmark 或 gatling 测试,我会看到约 1-2% 的失败请求。如果我在部署期间发送约 100 个请求/秒,大约 2 个请求会失败。

在查看日志时,失败的差异似乎只有~1-2ms。Nginx 发送请求 & swarm 关闭应用程序容器 & nginx 给出 502 错误。

错误日志(查看响应时间 - 0.002) -

如果您的机器速度较慢,我怀疑这可能是一个问题。

让我知道我是否遗漏了什么。只是想知道在滚动更新或部署期间如何为群模式设计,他们说这是零停机时间吗?(我已启用所有健康检查)。

0 投票
0 回答
2936 浏览

docker - 无法在 tcp://1.0.1.7:2375 连接到 Docker 守护程序。docker 守护进程是否正在运行?

我在 docker 中设置了具有 3 个管理器和 3 个节点的本地 swarm 集群。以下是结果:

泊坞窗节点 ls (dev-manager1)

码头工人ps(开发经理1)

从客户端:

错误

无法在 tcp://1.0.1.7:2375 连接到 Docker 守护程序。docker 守护进程是否正在运行?

如果您需要更多信息,请告诉我。

0 投票
1 回答
307 浏览

networking - 了解 docker 中的覆盖网络

请帮我解决这个问题,

swarm 模式下的覆盖网络允许跨节点容器能够像在同一网络上一样看到彼此。
那正确吗?

因此,如果我有以下设置:

  • 两个相似节点 M(管理者)和 W(工作者)的 swarm-mode 集群
  • 两个容器 CM 和 CW 分别运行在节点 M 和 W 上
  • 厘米depends_on: - CM:target
  • 两个容器都连接到覆盖网络 OVNET

ping target能从CM那里得到吗?如果不是,为什么?


Demo: docker stack deploy -c test.yml test 其中test.yml如下:

提前感谢!

0 投票
1 回答
163 浏览

python - 如何让odoo从文件中读取admin_passwd?

我想让 Odoo 读取admin_passwd文件系统上存在的文件的形式。

我的用例是这样的:
odoo:10.0在 Docker swarm-mode 集群上运行一个容器实例,并希望使用docker secrets共享必要的凭据。
例如,admin_passwd将在/run/secrets/admin_passwd... 等处找到。

Odoo 是否支持这种类型的配置?
如果没有,请对可能有助于我扩展 Odoo 并开发这样一个模块的东西提出一些建议。

提前致谢!