【发布时间】:2018-07-25 21:00:56
【问题描述】:
这是我曾经使用 docker-compose 成功运行 docker 容器的 docker-compose 文件。
现在尝试使用 docker 堆栈进行部署。我的经理和工作节点已准备就绪。
docker-compose.yml
version: '3'
services:
prometheus:
image: prom/prometheus
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
command:
- '--config.file=/etc/prometheus/prometheus.yml'
ports:
- '9090:9090'
deploy:
mode: replicated
replicas: 1
placement:
constraints:
- node.role == manager
使用的命令:
docker stack deploy -c docker-compose.yml monitoring
尝试在管理器节点中运行它。为什么服务没有运行。使用docker service ls 检查服务是否正在运行显示 0/1,如下图所示。
当尝试使用 docker service logs <servicename> 检查日志时,没有加载任何内容。
我到底在哪里错过了这些东西。我的最终目标是运行完整的 docker 监控服务,如 cadvisor 和 node-exporter 以及所有其他所需的服务。我试过这个 https://github.com/stefanprodan/swarmprom/blob/master/docker-compose.yml
我发现问题出在复制模式下,但在全局模式下运行良好。
复制模式有什么错误。我不认为我在这里有语法错误。如何使其在复制模式下仅在管理器节点中运行
【问题讨论】:
-
docker service ps monitoring_prometheus输出什么(尤其是错误列)? -
"分配网关失败(1...."
-
我这样做是为了删除不需要的网络
docker network prune现在服务正在运行,但不在管理节点中,也没有在docker service ls中显示 1/1 -
充其量,您可以使用所有这些信息更新您的问题,以尽量减少 cmets 的数量(其他人也必须阅读),之后您也可以在此处删除您的 cmets。 (就像我会处理这条评论一样)
-
能否重新运行
docker service ps --no-trunc monitoring_prometheus(注意--no-trunc)?
标签: docker docker-compose docker-swarm prometheus docker-swarm-mode