Mat*_*hew 15 persistence docker prometheus
我正在开发一些需要Prometheus在重启之间保持数据的东西.遵循了指示
$ docker volume create a-new-volume
$ docker run \
--publish 9090:9090 \
--volume a-new-volume:/prometheus-data \
--volume "$(pwd)"/prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheus
Run Code Online (Sandbox Code Playgroud)
我prometheus.yml在主机上的正确目录中有效,并且Prometheus正在容器内读取它.我现在只是为了测试目的而抓取几个HTTP端点.
但是,当我重新启动容器时,它是空的,没有来自上一次运行的数据.我的docker run ...命令中缺少什么来将数据保存到a-new-volume卷中?
小智 21
我今天遇到了同样的问题,但我使用的是 docker 作曲家文件。因此,总结一下其他答案的评论中的所有内容以及对我有用的内容。如果通过 compose 文件设置 Prometheus docker yaml...
首先在主机上为该卷创建一个文件夹,例如:
$ mkdir /tmp/prometheus
Run Code Online (Sandbox Code Playgroud)
然后将文件夹所有者更改为nobody,例如(sudo如果需要,请使用):
$ chown 65534:65534 /tmp/prometheus
Run Code Online (Sandbox Code Playgroud)
然后在配置文件中添加volume yaml:
prometheus:
image: prom/prometheus
container_name: prometheus
ports:
- 9090:9090
volumes:
- /tmp/prometheus:/prometheus
- ./prometheus.yml:/etc/prometheus/prometheus.yml
Run Code Online (Sandbox Code Playgroud)
应该可以做到这一点。
Rob*_*ert 18
使用默认数据目录,即 /prometheus
在这里找到:https://github.com/prometheus/prometheus/blob/master/Dockerfile
令人惊讶的是在图像文档中没有提到
| 归档时间: |
|
| 查看次数: |
6743 次 |
| 最近记录: |