У меня новый сервер с Prometheus в docker-compose.
Я хочу иметь возможность повторно загрузить файл конфигурации (prometheus.yml) без необходимости останавливать и запускать контейнер.
Конечно, поскольку я сохраняю хранилище прометей в томе, остановка и запуск на самом деле не проблема, но это кажется излишним, тем более, что у самого Прометея есть такой удобный API для перезагрузки конфигов.
Я вижу других людей с похожими вопросами (например, здесь ), но я не смог заставить эти решения работать на меня. Может быть, я что-то там пропускаю.
докер-compose.yml
version: "3"
services:
grafana:
restart: always
container_name: grafana
image: grafana/grafana:6.2.1
ports:
- 3000:3000
volumes:
- grafanadata:/var/lib/grafana
prometheus:
restart: always
container_name: prometheus
image: prom/prometheus:v2.10.0
privileged: true
volumes:
- ./configuration/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
- prometheusdata:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--web.enable-admin-api'
- '--web.enable-lifecycle'
ports:
- 9090:9090
node:
restart: always
container_name: node
image: prom/node-exporter:v0.18.0
ports:
- 9100:9100
volumes:
grafanadata:
prometheusdata:
Увы, мои результаты ..
Когда я запускаю curl -X POST http://localhost:9090/-/reload
журналы docker-compose дают:
prometheus | level=info ts=2019-06-17T15:33:02.690Z caller=main.go:730 msg="Loading configuration file" filename=/etc/prometheus/prometheus.yml
prometheus | level=info ts=2019-06-17T15:33:02.691Z caller=main.go:758 msg="Completed loading of configuration file" filename=/etc/prometheus/prometheus.yml
Так что конец Прометея работает нормально ... Пока все хорошо.
Однако, когда я редактирую ./configuration/prometheus/prometheus.yml
, изменения не распространяются на контейнер.
Более того, когда я пытаюсь отредактировать /etc/promethus/prometheus.yml
в контейнере, я вижу, что он доступен только для чтения (кроме того, у контейнера нет команды 'sudo').
Есть ли в Docker собственный способ горячей / прямой перезагрузки этих файлов конфигурации в каталог контейнера?
Как уже говорилось, опция down / start работает, но мне интересно, есть ли более элегантное решение.