下面是我曾经使用过的用于使用docker成功运行docker容器的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试图在manager节点中运行它。为什么服务不运行。检查服务是否正在使用docker service ls显示0/1,如下图所示。

当尝试使用docker service logs <servicename>检查日志时,不会加载任何内容。
我到底在哪里错过了这些东西。我的最终目标是运行完整的码头监控服务,如cadvisor和节点出口商以及所有其他所需的服务。我试过用这个https://github.com/stefanprodan/swarmprom/blob/master/docker-compose.yml
我发现问题是在复制模式下,虽然在全局模式下运行良好。
复制模式下的错误是什么?我想我这里没有语法错误。如何使其在复制模式下运行,并且仅在管理节点中运行
发布于 2018-12-18 12:36:38
如果所有的工作都与“对接-组合起来”,但你发现的问题与“码头堆栈部署”。我就是这样修好的。
我在Windows机器中使用的是对接器,而停靠器使用的是VirtualBox虚拟机。要查看主机中的容器,需要进行前向端口操作。
这个问题与卷的绑定挂载有关。
在进行对接检查时,请参阅下面两种场景中的路径:
"Mounts": [
{
"Type": "bind",
"Source": "/c/Users/Bardav/Documents/Large-Scale-Software Testing/PromptDocker/PromptDocker/app_users",
"Destination": "/app",
"Mode": "rw",
"RW": true,
"Propagation": "rprivate"
}"Mounts": [
{
"Type": "bind",
"Source": "C:\\Users\\Bardav\\Documents\\Large-Scale-Software Testing\\PromptDocker\\PromptDocker\\app_viewer",
"Target": "/app/"
}
],解决办法:
更新docker-compose.yml中的路径,它将工作。例如;
相对路径无效
reg_users:
image: prompt_user_app
build: ./app_users/
volumes:
- ./app_users/:/app/绝对路径工作良好
reg_users:
image: prompt_user_app
build: ./app_users/
volumes:
- "/c/Users/Bardav/Documents/Large-Scale-Software Testing/PromptDocker/PromptDocker/app_users:/app/"发布于 2018-02-15 14:06:46
这可能与Swarm / Manager的位置约束有关。我在尝试使用在主节点上调度可视化器或端口容器时,也遇到了类似的问题。你可以检查主人的状态。如果它处于压缩状态,你可以激活它--我在https://www.handsonarchitect.com/2017/11/visualize-docker-swarm-in-azure.html上分享了我的经验
https://stackoverflow.com/questions/48801578
复制相似问题