首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在码头群中使用码头堆栈运行服务

无法在码头群中使用码头堆栈运行服务
EN

Stack Overflow用户
提问于 2018-02-15 07:04:02
回答 2查看 2.7K关注 0票数 1

下面是我曾经使用过的用于使用docker成功运行docker容器的docker-组合文件。

现在尝试使用坞堆栈进行部署。我的经理和员工节点已经准备好了。

docker-compose.yml

代码语言:javascript
复制
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

使用的命令:

代码语言:javascript
复制
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

我发现问题是在复制模式下,虽然在全局模式下运行良好。

复制模式下的错误是什么?我想我这里没有语法错误。如何使其在复制模式下运行,并且仅在管理节点中运行

EN

回答 2

Stack Overflow用户

发布于 2018-12-18 12:36:38

如果所有的工作都与“对接-组合起来”,但你发现的问题与“码头堆栈部署”。我就是这样修好的。

我在Windows机器中使用的是对接器,而停靠器使用的是VirtualBox虚拟机。要查看主机中的容器,需要进行前向端口操作。

这个问题与卷的绑定挂载有关。

在进行对接检查时,请参阅下面两种场景中的路径:

  1. 码头工人-组成:
代码语言:javascript
复制
"Mounts": [
{
"Type": "bind",
"Source": "/c/Users/Bardav/Documents/Large-Scale-Software Testing/PromptDocker/PromptDocker/app_users",
"Destination": "/app",
"Mode": "rw",
"RW": true,
"Propagation": "rprivate"
}
  1. Docker堆栈部署-c码头-Compose.ymal存储:
代码语言:javascript
复制
"Mounts": [
{
"Type": "bind",
"Source": "C:\\Users\\Bardav\\Documents\\Large-Scale-Software Testing\\PromptDocker\\PromptDocker\\app_viewer",
"Target": "/app/"
}
],

解决办法:

更新docker-compose.yml中的路径,它将工作。例如;

相对路径无效

代码语言:javascript
复制
reg_users:
    image: prompt_user_app
    build: ./app_users/    
    volumes:
      - ./app_users/:/app/

绝对路径工作良好

代码语言:javascript
复制
reg_users:
    image: prompt_user_app
    build: ./app_users/    
    volumes:
      - "/c/Users/Bardav/Documents/Large-Scale-Software Testing/PromptDocker/PromptDocker/app_users:/app/"
票数 1
EN

Stack Overflow用户

发布于 2018-02-15 14:06:46

这可能与Swarm / Manager的位置约束有关。我在尝试使用在主节点上调度可视化器或端口容器时,也遇到了类似的问题。你可以检查主人的状态。如果它处于压缩状态,你可以激活它--我在https://www.handsonarchitect.com/2017/11/visualize-docker-swarm-in-azure.html上分享了我的经验

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48801578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档