无法通过docker加载prometheus.yml配置文件(prom / prometheus)

时间:2018-09-26 17:56:46

标签: docker dockerfile prometheus prometheus-alertmanager

我正在尝试使用以下自定义conf文件向docker加载prometheus: danilo @ machine:/prometheus-data/prometheus.yml

global:
  scrape_interval:     15s # By default, scrape targets every 15 seconds.

# Attach these labels to any time series or alerts when communicating with # external systems (federation, remote storage, Alertmanager). external_labels: monitor: 'codelab-monitor'

# A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. scrape_configs: # The job name is added as a label job=<job_name> to any timeseries scraped from this config. - job_name: 'prometheus'

# Override the global default and scrape targets from this job every 5 seconds. scrape_interval: 5s static_configs: - targets: ['localhost:9090'] - targets: ['localhost:8083', 'localhost:8080'] labels: my_app group: 'my_app_group'

使用以下命令:

$ sudo docker run -p 9090:9090 prom / prometheus --config.file = / prometheus-   data / prometheus.yml

该文件已存在。但是,我收到以下消息:

  

level = error ts = 2018-09-26T17:45:00.586704798Z caller = main.go:617 err =“从\” / prometheus-data / prometheus.yml \“加载配置时出错:无法加载配置(--config.file = \“ / prometheus-data / prometheus.yml \”):打开/prometheus-data/prometheus.yml:没有这样的文件或目录”

我正在遵循本指南:

如何正确加载此文件?

2 个答案:

答案 0 :(得分:2)

“文件已存在”表示您的文件位于主机上的/prometheus-data/prometheus.yml吗?如果是这样,则需要将其绑定安装到容器中,以便Prometheus可以访问它。

sudo docker run -p 9090:9090 -v /prometheus-data/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

文档Volumes & bind-mount中对此进行了介绍。

答案 1 :(得分:0)

我正在使用 docker-compose.yaml,我也遇到了同样的问题。我必须按如下方式设置音量详细信息。

  prometheus:
    image: prom/prometheus:v2.26.0
    user: root
    ports:
      - 9090:9090
    volumes:
      - /apps/prometheus/configs/prometheus.yaml:/etc/prometheus/prometheus.yaml
      - /data/prometheus:/prometheus
    command: --web.enable-lifecycle --config.file=/etc/prometheus/prometheus.yml