问题标签 [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.
docker - 使用 Docker Swarm 定义共享主机卷
我正在尝试使用以下 docker-stack.yml 文件将我的服务部署到我的 Docker Swarm 版本 17.06-ce。我想使用卷将C:/logs
Windows 主机上的目录映射到/var/log
容器内的目录。
当我删除卷部分时,我的容器开始正常。添加卷后,容器甚至从未尝试启动,即
docker container ps --all
不显示我的容器。docker events
不显示容器试图启动。
以下命令对我有用,所以我知道我的语法是正确的:
我已经阅读了数次卷文档。我的卷的语法是否正确?这是受支持的方案吗?这是一个 Docker 错误吗?
docker - 远程脚本执行导致 Docker 堆栈部署失败
出于测试目的,我有一个三行脚本(shebang 未显示):
当我在本地/直接从终端窗口运行此脚本时,它按预期工作。output.txt 文件包含“创建网络”、“创建服务”等的预期输出。
但是,当我从另一台机器运行时(通过 ssh,如果这很重要),正在运行的堆栈成功停止。我可以通过docker ps
所有容器都消失而ps -ef | grep sleep
显示sleep 30
仍然处于活动状态来验证。创建了一个新的 output.txt,但它完全是空的,并且什么也没有启动。谁能解释一下?码头工人 17.06。
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?
windows - Docker 堆栈部署在 Windows 中
我在 docker stack windows 有一些问题。
我们可以在 windows 2016 中启用 docker stack。它是否完全支持。
如果是,我们如何启用。我们如何使用这个文件自动创建 swarm 集群。我已经搜索了谷歌,但找不到与 windows 相关的内容。如果您有任何学习链接,请提供给我。
docker - 具有相同撰写文件但端口不同的几个 docker 堆栈
我想使用同一个 compose 文件同时运行一个多容器应用程序的多个实例。应用程序中的一个容器在某个端口上接受 websocket。
我有一个 nginx 代理来将不同的域或位置转发到应用程序的不同实例。这些实例实际上是使用该应用程序的不同租户。
我希望能够简单地运行:
并且以某种方式获得应用程序的不同端口,然后我可以在代理中使用这些端口将不同的 websocket 连接转发到不同的应用程序实例,无论是使用位置还是虚拟主机。
所以要么:
肯定可以弄清楚如何配置代理来做到这一点。我已经开始阅读一些关于:https://github.com/jwilder/nginx-proxy,这看起来不错。但是,它要求我将虚拟主机名设置为每个应用程序实例的环境变量,并且我似乎找不到使用 docker stack deploy 命令传递参数的方法?
理想情况下,我不想关心确切的端口,它们宁愿是随机的。但是它们需要以某种方式被 nginx 代理知道才能转发。我希望能够轻松地启动一个新的 appinstance(租户)堆栈并为该名称设置代理(或者如果代理可以通过应用程序的命名自动处理它,则更好)。
如果以上两个示例都有效(虚拟主机和位置),则奖励是因为这样可以在不创建子域/新域的情况下进行测试和开发。
建议?
docker-compose - 如何在 Docker swarm Stack 中命名/别名网络
我想在 docker-swarm 堆栈文件中为我的网络提供一个别名。
目前,堆栈文件看起来像
当我运行这个文件时
我得到以下输出
网络名称从mybridge更改为classifierbot_mybridge。因此 nginx 和 web 这两个服务无法相互通信。
所以,我的问题是如何给我的网络起一个别名也可以称为 mybridge
编辑:
一种方法是添加
并在堆栈文件之外创建 mybridge 但它违背了目的,对吗?因为我无法在单个堆栈文件中完成所有操作
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 服务日志时,
docker - 从撰写文件部署docker stack - 所有服务一个节点?
我有一个包含 10 个服务(容器)的 docker-compose 文件。我已经为每台服务器配置了一个实例。
当我执行堆栈部署时,所有 10 个服务都转到一个节点(管理器)。
我相信添加第二个服务实例会分发它,但我希望分发我的 10 个独特服务。
docker - 如何在 docker stack deploy 上禁用网络生成
我正在通过以下方式将撰写文件部署到UCP上:
最后,我想将多个 compose 文件(每个 compose 文件描述一个单独的微服务的设置)部署到一个 docker 网络上,例如 appsnetwork
该docker stack deploy
命令会自动使用生成的名称创建一个新网络,如下所示:custom-stack-name_appsnetwork
我有哪些选择?