问题标签 [docker-stack]

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 回答
3570 浏览

docker - 使用 Docker Swarm 定义共享主机卷

我正在尝试使用以下 docker-stack.yml 文件将我的服务部署到我的 Docker Swarm 版本 17.06-ce。我想使用卷将C:/logsWindows 主机上的目录映射到/var/log容器内的目录。

当我删除卷部分时,我的容器开始正常。添加卷后,容器甚至从未尝试启动,即

  1. docker container ps --all不显示我的容器。
  2. docker events不显示容器试图启动。

以下命令对我有用,所以我知道我的语法是正确的:

我已经阅读了数次卷文档。我的卷的语法是否正确?这是受支持的方案吗?这是一个 Docker 错误吗?

0 投票
0 回答
48 浏览

docker - 远程脚本执行导致 Docker 堆栈部署失败

出于测试目的,我有一个三行脚本(shebang 未显示):

当我在本地/直接从终端窗口运行此脚本时,它按预期工作。output.txt 文件包含“创建网络”、“创建服务”等的预期输出。

但是,当我从另一台机器运行时(通过 ssh,如果这很重要),正在运行的堆栈成功停止。我可以通过docker ps所有容器都消失而ps -ef | grep sleep显示sleep 30仍然处于活动状态来验证。创建了一个新的 output.txt,但它完全是空的,并且什么也没有启动。谁能解释一下?码头工人 17.06。

0 投票
2 回答
9278 浏览

docker - Docker: How to control/define default gateway settings

Can anyone shed some light on what is what with the Docker Compose YML file? All I want to do is to be able to control the IP addresses of the various containers. I am using version 3.1 (but also tried 3.3 as I recently upgraded to version 17.06). The documentation says:

When I do this, I need that subnet honored when I inspect the network. However the gateway is completely different [read the Note: above], so the containers do not start. Why did they lose capability (at the moment) in version 3 for something that worked in version 2? Worse, why wasn't that restored in version 3.2 or 3.3?

Maybe I am way off base here - certainly wouldn't be first time! What is most important to me: is there a way to modify a compose file to allow a docker stack deploy command (in a Docker Swarm) to provide control of the gateway and subnets used?

0 投票
2 回答
1787 浏览

docker - Docker 堆栈到 Kubernetes

我对 Docker 很熟悉,但对 Kubernetes 的经验为零。

我有一个Docker 堆栈(多容器)软件,可以部署在 Docker 集群中。我想知道 Kubernetes 是否有类似的东西?我不需要副本、自动缩放等等……我只需要一组容器以及在单个文本文件中定义的依赖项和网络。

我搜索并找到了一个名为kompose的工具,它可以将 Docker 堆栈文件转换为 Kubernetes 语法……但是,看起来输出是*.yaml文件列表,而不是单个文件。

所以,我得出的结论是 kubernetes 没有这个确切的功能。我错过了什么吗?

0 投票
1 回答
758 浏览

windows - Docker 堆栈部署在 Windows 中

我在 docker stack windows 有一些问题。

我们可以在 windows 2016 中启用 docker stack。它是否完全支持。

如果是,我们如何启用。我们如何使用这个文件自动创建 swarm 集群。我已经搜索了谷歌,但找不到与 windows 相关的内容。如果您有任何学习链接,请提供给我。

0 投票
0 回答
347 浏览

docker - 具有相同撰写文件但端口不同的几个 docker 堆栈

我想使用同一个 compose 文件同时运行一个多容器应用程序的多个实例。应用程序中的一个容器在某个端口上接受 websocket。

我有一个 nginx 代理来将不同的域或位置转发到应用程序的不同实例。这些实例实际上是使用该应用程序的不同租户。

我希望能够简单地运行:

并且以某种方式获得应用程序的不同端口,然后我可以在代理中使用这些端口将不同的 websocket 连接转发到不同的应用程序实例,无论是使用位置还是虚拟主机。

所以要么:

肯定可以弄清楚如何配置代理来做到这一点。我已经开始阅读一些关于:https://github.com/jwilder/nginx-proxy,这看起来不错。但是,它要求我将虚拟主机名设置为每个应用程序实例的环境变量,并且我似乎找不到使用 docker stack deploy 命令传递参数的方法?

理想情况下,我不想关心确切的端口,它们宁愿是随机的。但是它们需要以某种方式被 nginx 代理知道才能转发。我希望能够轻松地启动一个新的 appinstance(租户)堆栈并为该名称设置代理(或者如果代理可以通过应用程序的命名自动处理它,则更好)。

如果以上两个示例都有效(虚拟主机和位置),则奖励是因为这样可以在不创建子域/新域的情况下进行测试和开发。

建议?

0 投票
1 回答
4197 浏览

docker-compose - 如何在 Docker swarm Stack 中命名/别名网络

我想在 docker-swarm 堆栈文件中为我的网络提供一个别名。

目前,堆栈文件看起来像

当我运行这个文件时

我得到以下输出

网络名称从mybridge更改为classifierbot_mybridge。因此 nginx 和 web 这两个服务无法相互通信。

所以,我的问题是如何给我的网络起一个别名也可以称为 mybridge

编辑:

一种方法是添加

并在堆栈文件之外创建 mybridge 但它违背了目的,对吗?因为我无法在单个堆栈文件中完成所有操作

0 投票
0 回答
864 浏览

nginx - docker stack deploy 工作不正常,但 docker-compose 工作正常

我是 docker swarm 和 docker compose 的新手。

我构建了一个使用 nginx 和烧瓶 docker 容器的应用程序。nginx 充当反向代理。

当我使用 docker compose 构建整个应用程序时,一切正常

我的 docker-compose.yml 文件

下面是我的输出:

在此处输入图像描述

但是,现在我想通过在 3 个 AWS 实例中部署它来提升它

这是我的 docker-stack.yml 文件

但是现在当我部署这个应用程序并检查我得到这个的 URL

[不正确的主页]

在此处输入图像描述

我不明白为什么在第一种情况下 web 和 nginx 容器之间存在通信,但在第二种情况下,这种通信停止了。

谁能指导我这个

更新 1:

在查看我看到的 nginx 服务日志时,

0 投票
2 回答
536 浏览

docker - 从撰写文件部署docker stack - 所有服务一个节点?

我有一个包含 10 个服务(容器)的 docker-compose 文件。我已经为每台服务器配置了一个实例。

当我执行堆栈部署时,所有 10 个服务都转到一个节点(管理器)。

我相信添加第二个服务实例会分发它,但我希望分发我的 10 个独特服务。

0 投票
1 回答
611 浏览

docker - 如何在 docker stack deploy 上禁用网络生成

我正在通过以下方式将撰写文件部署到UCP上:

最后,我想将多个 compose 文件(每个 compose 文件描述一个单独的微服务的设置)部署到一个 docker 网络上,例如 appsnetwork

docker stack deploy命令会自动使用生成的名称创建一个新网络,如下所示:custom-stack-name_appsnetwork

我有哪些选择?