La documentation officielle recommande d'utiliser l'image basée sur Alpine Linux.
docker container run --name grafana_test --rm --detach --publish 9090:3000 grafana/grafana:8.1.1
Sans configuration spécifique les données produites par Grafana sont stockées directement dans le conteneur et ne se seront pas conservées lorsque le conteneur sera détruit. Pour conserver les données il faut définir stockage persistant ou des points de montage.
C'est la solution recommandée, ici on crée le stockage persistant (ou volume docker):
docker volume create grafana_data
Lors de la création du conteneur, on déclare quel volume de données on souhaite utiliser et sur quel répertoire du conteneur le montage doit être effectué:
docker run -d -p 9090:3000 --name=grafana -v grafana-storage:/var/lib/grafana grafana/grafana:v8.1.1
Il est possible d’exécuter Grafana dans docker mais d'utiliser les dossier locaux pour le stockage des données de configuration ou de base de données. Un point important pour le démarrage du conteneur est alors de s'appuyer sur un utilisateur qui a le droit d'accéder et d'écrire dans le dossier que l'on monte (lier ou bind) dans le conteneur.
# creation du dossier local pour les données grafana mkdir data # stocke l' UID de l'utilisateur courant dans la valeur de la variable ID ID=$(id -u) # Création du conteneur Grafana s’exécutant avec l'UID de l'utilisateur courant # avec montage du dossier courant ./data sur le dossier /var/lib/grafana du conteneur docker run -d --user $ID --volume "$PWD/data:/var/lib/grafana" -p 9090:3000 grafana/grafana:8.1.1
Le plus simple est d'utiliser le client en ligne de commande grafana-cli:
# lancer un bash dans le conteneur docker-compose exec grafana /bin/bash # utiliser le CLI grafana cd /bin ./grafana-cli plugins install grafana-piechart-panel exit
Après installation, redémarrer le service:
docker-compose stop grafana docker-compose start grafana