问题标签 [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 服务 laravel 应用程序未运行
docker-compose.yml 这是我的 docker-compose 文件,用于使用 docker-stack 在多个实例中部署服务。如您所见,应用程序服务是在 2 个节点中运行的 laravel 和在其中一个节点中运行的数据库(mysql)。
完整代码库: https ://github.com/taragurung/Ci-CD-docker-swarm
我面临的问题。 1. 虽然在查看服务日志时服务处于运行状态,但我只能看到迁移在一个节点上成功,而在另一个节点上没有运行。请参阅下面的日志
- 当我使应用程序服务仅在管理器节点中运行时,应用程序运行得很好。我可以登录页面并执行所有操作,但是当我仅使用副本使应用程序服务在任何节点中运行时,登录页面就会显示,但是当尝试登录时,它会重定向到 NOT FOUND 页面
这是尝试在 3 个节点上运行时的完整日志。Bellow 是在 2 个节点上运行时的示例。您可以详细查看迁移问题 https://pastebin.com/wqjxSnv2
使用检查的服务日志docker service logs <smstake_app>
不知道是移民问题还是什么。有时我可以登录,但在单击仪表板内的链接时,我再次被重定向到未找到页面。
docker - 堆栈服务容器动态主机名
我正在从 Docker Cloud 迁移到纯 Docker Swarm 设置。我缺少的一件事是容器如何将主机名设置为$SERVICE_NAME-$SLOT_NUMBER的好方法。
是否可以在 swarm stack 服务中动态设置主机名/容器名?
docker - 堆栈服务在特定接口上公开端口?
我们在 Digital Ocean 上运行堆栈。为了提高安全性,docker swarm 所有都在 Droplets 上的专用网络 (eth1) 上运行。我们有一些管理服务,我们不想在公共 IP 上公开,而是在私有 IP 上公开。
是否可以在特定接口上公开端口?或者可以创建另一个仅在私有 IP 上公开端口的入口网络?
我们现在的解决方法是,我们只是将这些服务作为普通容器运行,并在私有 IP 地址上公开端口。
docker - 如果我将服务扩展到 docker 节点大小之外会有什么影响?
我在 docker swarm 模式中有 3 个节点。
1 个 Manager 和 2 个 Worker 节点
我在这里有两个疑问?
如果我将服务扩展到比我们拥有的节点更大的数量,将会产生什么影响。(假设将一项服务扩展到 5 或 6 个)
如果服务有一个限制,即它必须仅在管理器节点上运行,并且我们扩展的数量高于管理器节点的数量,那么规模会发生什么。(例如扩展到 3)
我在管理器节点中运行 mysql 服务,该服务在 docker-compose 中定义了一个约束放置以在管理器节点中运行。这是我尝试将其扩展到6时看到的效果,尽管我只有 3 个节点。显示docker service logs
4/6 运行,甚至有时显示 6/6 和有时显示 5/6 波动
这里是 docker-compose.yml
docker - People are connecting through my private network
For some reason with my Minecraft server running within a docker stack, it seems like people are going through a proxy. All IP's are internal (10.255.0.16). I can not seem to find the correct way to word this problem as for where I could do a manual Google Search if anyone could help me on my way that would be awesome!
docker - docker compose 不创建容器,但我没有收到错误消息
我正在阅读 Ubuntu 17.10 上的官方 Docker CE(版本 18.03.1-ce,构建 9ee9f40)教程,但在运行服务时遇到了问题,如此处所述。 该服务不会启动,但 Docker 不会告诉我原因。
问题描述
当我启动服务时,会发生以下情况:
没有返回错误,退出状态为 0,没有任何异常。但是,当获取有关堆栈的信息时...
该CURRENT STATE
列完全充满了拒绝。截断的错误都说"container ingress-sbox is already present in sandbox ingress_sbox"
。列出各个容器如下所示:
然而,单独运行容器(即不在集群或堆栈中)完全按预期运行。
相关文件
Dockerfile
docker-compose.yml
app.py
docker - 使用 docker stack 时挂载 tmpfs
部署独立容器时,我可以将 /dev/shm 挂载为带有自定义选项的 tmpfs,如下所示:
但是,当使用docker stack deploy
. 此处的文档中似乎没有任何相关信息。与以下docker-compose.yml
/dev/shm
使用默认选项安装。如何/dev/shm
使用选项(rw,nosuid,nodev,exec,size=90g)
安装docker stack deploy
?
docker - 一个堆栈的服务与另一个堆栈之间的 Docker 通信
我正在尝试使用不同的 docker 堆栈的简单服务发现场景。
假设我有 2 个堆栈。为简单起见,我将它们命名为 stackA 和 stackB。StackA 有一个名为“serviceA”的服务,而 StackB 有一个名为“serviceB”的服务。ServiceA 和 serviceB 有一个简单的 RestApplication。
现在我想从 serviceA 调用 serviceB。了解docker服务发现的概念,按照docker官方文档,无法调用serviceB。 在另一个堆栈上发现服务或容器
根据官方文档,我正在使用serviceB.StackB,但做不到。
无法理解原因。几点:
1.每个堆栈创建自己的网络。是否因为两个堆栈不在同一个网络中而发生?
2. 如果我只需要在不同的网络中,我如何调用不同的服务
docker - docker stack deploy 生成的图像带有标签和不同的图像尺寸
我从中了解到图像在 中获得标签是正常的,但我不明白为什么图像大小与标记的大小不同。我找不到任何关于此的信息,所以我求助于在 stackoverflow 上发布一个问题。谁能解释一下?<none>
docker stack
这是 docker-stack.yml 文件。
顺便说一下,这种配置不起作用。我正在学习 docker swarm 及其配置。
docker - Docker 堆栈部署不会拉取所有图像
我将 docker 用于许多不同的服务和工具。我运行一个docker stack deploy -c docker-compose.yml --with-registry-auth stack_name
. 在集群本身上,只有一两个节点会拉取图像,而不会拉到其他节点上。我认为部署会导致所有节点都拉出,以便图像无处不在。然后发生的错误是no such image
因为它没有被拉到那个特定的节点上。我一直在四处寻找帮助,我看到很多关于它如何正常执行此操作的页面。我是否遗漏了导致此问题的原因,任何帮助都会有所帮助。