web-dev-qa-db-fra.com

Comment conserver des données dans Prometheus fonctionnant dans un conteneur Docker?

Je développe quelque chose qui a besoin de Prometheus pour conserver ses données entre les redémarrages. Après avoir suivi les instructions

$ 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

J'ai un prometheus.yml Valide dans le bon répertoire sur la machine hôte et il est lu par Prometheus à partir du conteneur. Je suis en train de supprimer quelques points de terminaison HTTP à des fins de test pour le moment.

Mais lorsque je redémarre le conteneur, il est vide, aucune donnée de l'exécution précédente. Que manque-t-il à ma commande docker run ... Pour conserver les données dans le volume a-new-volume?

14
Matthew

Utilisez le répertoire de données par défaut, qui est /prometheus. Pour ce faire, utilisez cette ligne au lieu de ce que vous avez dans votre commande:

...
--volume a-new-volume:/prometheus \
...

Trouvé ici: https://github.com/prometheus/prometheus/blob/master/Dockerfile

Étonnamment n'est pas mentionné dans les documents image

17
Robert