首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于码头的Grafana

关于码头的Grafana
EN

Stack Overflow用户
提问于 2022-04-10 23:32:16
回答 1查看 1.2K关注 0票数 1

我正在使用码头运行普罗米修斯,地堑和节点出口商。我试图使用命名卷,我有一些问题。我的对接代码是:

代码语言:javascript
复制
version: "3.7"
volumes:      
    grafana_ini:
    
    prometheus_data:
    
    grafana_data:
    
    dashboards_data:
    
services:
  grafana:
    build: ./grafana
    volumes:
            - grafana_ini:/etc/grafana/grafana.ini
            - grafana_data:/etc/grafana/provisioning/datasources/datasource.yml
            
            - dashboards_data:/etc/grafana/provisioning/dashboards
            - ./dashboards/linux_dashboard.json:/etc/grafana/provisioning/dashboards/linux_dashboard.json
    ports:
      - 3000:3000
    links:
            - prometheus
  prometheus:
    build: ./prometheus
    volumes:
            - prometheus_data:/etc/prometheus/prometheus.yml
    ports:
      - 9090:9090
  node-exporter:
    image: prom/node-exporter:latest
    container_name: node_exporter
    restart: unless-stopped
    expose:
      - 9100

我的grafana博士文件是:

代码语言:javascript
复制
FROM grafana/grafana:latest
COPY ./Ini/grafana.ini /etc/grafana/grafana.ini
COPY datasource.yml /etc/grafana/provisioning/datasources/datasource.yml
COPY ./dashboards/dashboard.yml /etc/grafana/provisioning/dashboards
COPY ./dashboards/server/linux_dashboard.json /etc/grafana/provisioning/dashboards
COPY ./dashboards/server/windows_dashboard.json /etc/grafana/provisioning/dashboards
EXPOSE 3000:3000

在构建过程中,我会得到这个错误。

错误:对于/var/lib/docker/overlay2/4ac5b487fd7fd52491b250c4afaa433801420cd907ac4a70ddb4589fdb99368b/merged/etc/grafana/grafana.ini,2022_grafana_1无法为服务grafana创建容器:源2022_grafana_1不是目录

错误:对于grafana无法为服务创建容器grafana:源/var/lib/docker/overlay2/4ac5b487fd7fd52491b250c4afaa433801420cd907ac4a70ddb4589fdb99368b/merged/etc/grafana/grafana.ini不是目录

有人能帮帮我吗。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-11 00:28:14

看起来Grafana容器中的卷配置存在一些问题:

首先,我认为这只是你问题中的一个错误:

代码语言:javascript
复制
      - grafana_ini:/etc/grafana/grafana.inianticipated location in container

我怀疑你是有意这样做的:

代码语言:javascript
复制
      - grafana_ini:/etc/grafana/grafana.ini

这没有任何意义:grafana.ini是一个文件,但是卷是一个目录。Docker不允许您在文件顶部挂载目录,因此出现了以下错误:

代码语言:javascript
复制
ERROR: .../etc/grafana/grafana.ini is not directory

grafana_data卷也有同样的问题,您正试图在datasource.yml之上挂载它

代码语言:javascript
复制
      - grafana_data:/etc/grafana/provisioning/datasources/datasource.yml

我认为您可能是以错误的方式对待这种配置;您可能希望阅读这些文档:

配置Grafana (和Prometheus!)是可能的!只使用绑定挂载和环境变量(这包括安装插件、数据源和仪表板),因此您不需要构建自己的自定义映像。

与这个特定问题无关的是,您的docker-compose.yml中还有一些值得更改的东西。你不应该再使用links指令了.

代码语言:javascript
复制
    links:
      - prometheus

...because码头自动为您维护DNS;您的容器可以相互引用对方的名称,而不需要其他配置。

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

https://stackoverflow.com/questions/71821317

复制
相关文章

相似问题

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