Wie führen Sie ein Grafana-Docker-Image aus?

Wie führen Sie ein Grafana-Docker-Image aus?

Grafana ist ein führendes Open-Source-Tool zur Visualisierung von Zeitreihendaten und bietet intuitive Dashboards sowie leistungsfähige Überwachungsfunktionen. Es wird häufig verwendet, um Daten aus verschiedenen Quellen wie Prometheus, InfluxDB und Loki zu visualisieren. Grafana effizient zu betreiben, ist für eine wirkungsvolle Datenanalyse entscheidend, doch die manuelle Einrichtung kann komplex sein.

Grafana lässt sich mit Docker besonders schnell und flexibel bereitstellen, da die Software in einer containerisierten Umgebung ausgeführt wird. Dadurch entfallen aufwendige Systemkonfigurationen und der Umgang mit Abhängigkeiten.

In diesem Leitfaden führen wir Sie Schritt für Schritt durch den Prozess, Grafana in Docker auszuführen. Konkret erfahren Sie, wie Sie:

  1. Rufen Sie das Grafana-Docker-Image mit einem einfachen Befehl ab und führen Sie es aus.
  2. Geben Sie die Grafana-Ports frei, um auf die Weboberfläche zuzugreifen.
  3. Speichern Sie Ihre Grafana-Einstellungen und Dashboards dauerhaft, damit sie auch nach einem Neustart des Containers erhalten bleiben.
  4. Konfigurieren Sie Grafana mithilfe von Umgebungsvariablen oder einer Dockerfile.
  5. Vereinfachen Sie die Bereitstellung von Grafana mit Docker Compose für die Orchestrierung mehrerer Container.

Nach Abschluss dieser Schritte wird Grafana in einem Docker-Container ausgeführt und steht für Monitoring und Visualisierung bereit. Dieser Artikel behandelt alles, was Sie brauchen – von den Grundlagen bis zu erweiterten Konfigurationsoptionen.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Ihr System die folgenden Anforderungen erfüllt:

  • Docker installiert: Sie benötigen eine installierte Docker Engine, die auf Ihrem System ausgeführt wird. Wenn Sie schnell loslegen möchten, bietet Hostinger mit unseren VPS-Hosting-Tarifen eine Docker-Installationsvorlage mit nur einem Klick an.
  • Vertrautheit mit der Befehlszeile: Sie sollten sicher mit einem Terminal umgehen können, um Docker-Befehle auszuführen. Hostinger bietet eine benutzerfreundliche Browserkonsole, mit der Sie Befehle direkt im Browserfenster ausführen können.
  • Sudo-Zugriff: Unter Linux müssen Sie Docker-Befehlen sudo voranstellen oder Ihren Benutzer zur docker-Gruppe hinzufügen.

Sobald diese eingerichtet sind, können Sie loslegen.

Das Grafana-Docker-Image herunterladen

Für den Einstieg müssen Sie das Grafana-Image von Docker Hub herunterladen. Dieses Bild enthält alles, was Sie benötigen, um Grafana zu installieren und in einer containerisierten Umgebung auszuführen.

Hier ist der grundlegende Befehl:

docker pull grafana/grafana

Wenn Sie kein Versions-Tag angeben, ruft Docker automatisch die neueste stabile Version ab. Wenn Sie tatsächlich eine bestimmte Version verwenden möchten, sagen wir 10.3.1, sollte Ihr Befehl so aussehen:

docker pull grafana/grafana:10.3.1

Alle verfügbaren Grafana-Versions-Tags finden Sie auf Docker Hub.

Wenn Sie dies ausführen, geschieht Folgendes:

  • Laden Sie das offizielle Grafana-Docker-Image herunter und speichern Sie es lokal auf Ihrem Rechner.
  • Stellen Sie sicher, dass Docker mit diesem Image Container starten kann, indem Sie die erforderlichen Abhängigkeiten hinzufügen.

Sie müssen docker pull nur einmal ausführen, es sei denn, Sie möchten Ihr Image aktualisieren, um die neuesten Updates zu erhalten.

Den Grafana-Container ausführen

Sobald das Grafana-Image heruntergeladen ist, können Sie mit einem einzigen docker run-Befehl einen Docker-Container starten. So führen Sie Grafana am schnellsten lokal oder auf einem Server aus.

Hier ist ein einfaches Beispiel:

docker run -d -p 3000:3000 --name=grafana grafana/grafana

Schauen wir uns an, was dabei genau passiert:

  • docker run: Weist Docker an, einen neuen Container zu erstellen und zu starten.
  • -d: Führt den Docker-Container im Detached-Modus aus, sodass er im Hintergrund läuft.
  • -p 3000:3000: Ordnet Port 3000 auf Ihrem Host Port 3000 im Docker-Container zu, dem Standardport, den Grafana verwendet.
  • –name=grafana: Gibt Ihrem Docker-Container einen leicht wiedererkennbaren Namen (grafana), damit Sie ihn in künftigen Befehlen einfach referenzieren können.
  • grafana/grafana: Gibt das zu verwendende Docker-Image an.

Sobald der Container startet, wird Grafana eingerichtet. Sie können bestätigen, dass der Grafana-Docker-Container läuft, indem Sie Folgendes ausführen:

docker ps

In den Ergebnissen sehen Sie einen laufenden Docker-Container mit dem Namen grafana, etwa so:

Mit dieser Methode ist Grafana in Sekunden einsatzbereit – ganz ohne Konfigurationsdateien und manuelle Einrichtung. Es eignet sich hervorragend für schnelle Tests oder die lokale Entwicklung.

Zugriff auf das Grafana-Dashboard

Sobald Ihr Grafana-Container läuft, können Sie direkt über Ihren Browser auf die Weboberfläche zugreifen. Öffnen Sie den Browser Ihrer Wahl und rufen Sie http://localhost:3000 auf.

Wichtig! Wenn Sie den Docker-Container auf einem Remote-Server ausführen, ersetzen Sie localhost durch die IP-Adresse oder den Domainnamen des Servers.

Sobald die Verbindung hergestellt ist, sehen Sie einen Anmeldebildschirm:

Die Standard-Anmeldedaten von Grafana sind:

  • Benutzername – admin
  • Passwort – admin

Nach der Anmeldung fordert Grafana Sie auf, das Standardpasswort zu ändern:

Es wird dringend empfohlen, dies sofort zu tun, insbesondere wenn der Docker-Container in einem öffentlichen Netzwerk oder im Internet erreichbar ist.

Nach dem Anmelden gelangen Sie zur Hauptansicht des Dashboards, die in etwa so aussieht:

Hier können Sie Datenquellen hinzufügen, Panels erstellen und benutzerdefinierte Dashboards erstellen.

Grafana-Daten dauerhaft speichern

Standardmäßig gehen alle Daten verloren, die Sie in einem Docker-Container erstellen, wenn der Container gestoppt oder entfernt wird. Dazu gehören Plugins, Benutzereinstellungen und Grafana-Dashboards. Für kurze Tests ist das zwar in Ordnung, für eine langfristige Nutzung jedoch nicht praktikabel.

Um Datenverlust zu vermeiden, müssen Sie ein persistentes Volume einbinden, damit die Daten von Grafana außerhalb des Docker-Containers gespeichert werden:

  1. Erstellen Sie mit dem Befehl docker volume ein benanntes Grafana-Docker-Volume:
docker volume create grafana-storage

Dieses Volume speichert das Grafana-Datenverzeichnis /var/lib/grafana innerhalb des Docker-Containers.

Mit docker volume ls -f dangling=true können Sie prüfen, ob das Volume erstellt wurde und von keinem Docker-Container verwendet wird:

  1. Stoppen Sie den aktuell laufenden Docker-Container und entfernen Sie ihn mit diesen Befehlen:
docker stop grafana
docker rm grafana
  1. Starten Sie einen neuen Grafana-Docker-Container und binden Sie dabei das Volume ein:
docker run -d \
  -p 3000:3000 \
  --name=grafana \
  --volume grafana-storage:/var/lib/grafana \
  grafana/grafana
  1. Bestätigen Sie mit docker inspect, dass das Volume eingebunden ist:
docker inspect --format '{{json .Mounts}}' grafana

Dadurch erhalten Sie eine Liste der eingebundenen Volumes. Darin sehen Sie jetzt auch das Volume, das Sie erstellt haben:

Sie können den Docker-Container jetzt sicher stoppen, neu starten oder aktualisieren, ohne dass Ihre Konfiguration verloren geht. Docker lädt Dateien aus dem eingebundenen Volume in das Datenverzeichnis von Grafana, und Grafana lädt Ihren gespeicherten Status automatisch.

Grafana mit Umgebungsvariablen konfigurieren

Grafana unterstützt viele Umgebungsvariablen, mit denen Sie Einstellungen beim Start des Docker-Containers anpassen können, ohne Konfigurationsdateien bearbeiten zu müssen. Das ist besonders nützlich für Automatisierung, Skripting oder um Grafana in allen Umgebungen in einem konsistenten Zustand zu betreiben.

Hier sind einige gängige Umgebungsvariablen, die Sie möglicherweise festlegen möchten:

  • GF_SECURITY_ADMIN_PASSWORD – Legt das anfängliche Admin-Passwort fest.
  • GF_SERVER_ROOT_URL – Definiert die Stamm-URL; das ist nützlich, wenn Grafana hinter einem Reverse-Proxy betrieben wird.
  • GF_USERS_ALLOW_SIGN_UP – Aktiviert oder deaktiviert Benutzerregistrierungen.
  • GF_INSTALL_PLUGINS – installiert Plugins beim Start automatisch; definiert in einer kommagetrennten Liste.

Um Umgebungsvariablen zu übergeben, verwenden Sie in Ihrem docker run-Befehl das Flag -e:

docker run -d \

  -p 3000:3000 \

  --name=grafana \

  -e GF_SECURITY_ADMIN_PASSWORD=SuperSecurePass \

  -e GF_SERVER_ROOT_URL=http://mygrafana.example.com \

  -e GF_USERS_ALLOW_SIGN_UP=false \

  grafana/grafana

In diesem Beispiel:

  • Ändern Sie das standardmäßige Admin-Passwort von admin in SuperSecurePass.
  • Teilen Sie Grafana mit, dass seine Root-URL http://mygrafana.example.com lautet, wenn Grafana hinter einem Proxy ausgeführt wird.
  • Deaktivieren Sie die Registrierungsoption für neue Benutzer, indem Sie GF_USERS_ALLOW_SIGN_UP auf false setzen.

Für eine vollständig angepasste und dauerhafte Einrichtung können Sie dies mit dem Einhängen von Volumes kombinieren.

Umgebungsvariablen werden jedes Mal angewendet, wenn der Docker-Container startet. Damit eignen sie sich ideal für versionierte Bereitstellungen oder Docker-Compose-Konfigurationen.

Ein benutzerdefiniertes Grafana-Docker-Image erstellen

In manchen Fällen benötigen Sie möglicherweise mehr als nur die grundlegende Grafana-Einrichtung. Zum Beispiel möchten Sie vielleicht:

  • Bestimmte Plugins vorab installieren
  • Benutzerdefinierte Konfigurationsdateien einbinden
  • Branding oder Designs anwenden
  • Umgebungsspezifische Einstellungen integrieren

Anstatt all das bei jedem Start eines Containers erneut zu konfigurieren, können Sie mit einer benutzerdefinierten Dockerfile ein eigenes Grafana-Docker-Image erstellen, das alles von Haus aus enthält. Hier finden Sie eine Schritt-für-Schritt-Anleitung:

  1. Erstellen Sie eine Dockerfile – eine einfache Textdatei mit Anweisungen für Docker. Hier ist ein Beispiel:
FROM grafana/grafana:latest

# Ein oder mehrere Plugins installieren
RUN grafana-cli plugins install grafana-clock-panel

# Optional: Benutzerdefinierte Konfigurationsdateien kopieren
# COPY custom.ini /etc/grafana/grafana.ini

In diesem Beispiel gehen wir von einem standardmäßigen Grafana-Docker-Image aus und installieren darauf das Plugin Grafana Clock Panel. Speichern Sie sie als Dockerfile in einem Verzeichnis Ihrer Wahl.

  1. Erstellen Sie das Docker-Image mit dem Befehl docker build:
docker build -t my-grafana-custom .

Dadurch wird ein neues Image mit dem Tag my-grafana-custom erstellt.

Wichtig! Ersetzen Sie das Symbol. am Ende durch den Pfad zu Ihrem Dockerfile, wenn Sie den Befehl aus einem anderen Verzeichnis ausführen.

  1. Führen Sie das benutzerdefinierte Image aus, um einen Docker-Container zu starten. Verwenden Sie den Befehl docker run:
docker run -d \
  -p 3000:3000 \
  --name=grafana-custom \
  my-grafana-custom

Dieser Container verhält sich wie jede andere Grafana-Instanz, bringt jedoch Ihre Plugins und Anpassungen bereits vorinstalliert mit. Bei Bedarf können Sie weiterhin Volumes anhängen und Umgebungsvariablen übergeben.

Benutzerdefinierte Images eignen sich hervorragend für Teams, CI/CD-Pipelines und wiederholbare Bereitstellungen, da Sie damit bei minimalem Einrichtungsaufwand die volle Kontrolle über Ihre Grafana-Instanz haben. Verwenden Sie ein benutzerdefiniertes Bild, wenn:

  • Sie stellen Grafana häufig bereit und möchten eine einheitliche, sofort einsatzbereite Konfiguration
  • Sie automatisieren Ihre Infrastruktur und benötigen eine sofort einsatzbereite Lösung.
  • Sie möchten Plugins oder Konfigurationen ohne manuelles Eingreifen einbinden.

Grafana mit Docker Compose ausführen

Das Verwalten von Containern mit docker run funktioniert für einzelne Instanzen gut. Wenn Ihre Einrichtung jedoch umfangreicher wird oder Sie eine sauberere, leichter reproduzierbare Bereitstellung wünschen, ist Docker Compose die richtige Wahl. Damit können Sie Ihre gesamte Container-Konfiguration in einer einzigen YAML-Datei festlegen und alles mit einem einzigen Befehl starten.

Warum Docker Compose verwenden?

  • Es vereinfacht Setups mit mehreren Containern wie Grafana und Prometheus.
  • Die Konfiguration bleibt in der Versionsverwaltung.
  • Damit lässt sich die Umgebung auf lokalen und entfernten Rechnern ganz einfach replizieren.
  • Vor allem beim Verwenden von Volumes, Netzwerken und Umgebungsvariablen ist weniger Tipparbeit erforderlich.

Grafana mit Docker Compose einrichten

Richten wir Grafana mit Docker Compose ein:

  1. Erstellen Sie eine docker-compose.yml-Datei. Hier ist eine Beispieldatei:
version: '3.8'
#start a services block
services:
  #start grafana block
  grafana:
    #define the image to use
    image: grafana/grafana:latest
    #name the Docker container
    container_name: grafana
    #map ports
    ports:
      - "3000:3000"
    #define environment variables
    environment:
      - GF_SECURITY_ADMIN_PASSWORD=StrongPassword123
      - GF_USERS_ALLOW_SIGN_UP=false
    #mount a volume
    volumes:
      - grafana-storage:/var/lib/grafana
    restart: unless-stopped

volumes:
  grafana-storage:

Speichern Sie die Datei in dem Verzeichnis, aus dem Sie Ihren Container ausführen werden.

  1. Starten Sie den Grafana-Container mit dem Befehl docker-compose up:
docker-compose up -d
  1. Und wenn Sie den Container anhalten müssen:
docker-compose down

In diesem Beispiel:

  • Laden Sie das Grafana-Image herunter, falls es noch nicht lokal vorhanden ist.
  • Erstellen und starten Sie den Docker-Container mit dem Flag -d im Hintergrund.
  • Dank restart: unless-stopped wird der Container beim Neustart automatisch neu erstellt.
  • Speichern Sie Daten dauerhaft mit dem benannten Volume grafana-storage.

Einrichtung mehrerer Tools mit Docker Compose

Docker Compose spielt seine Stärken vor allem dann aus, wenn Sie mehrere Tools gleichzeitig bereitstellen. Sehen wir uns ein Beispiel-Setup mit Folgendem an:

  • Prometheus – Zum Erfassen von Metriken aus konfigurierten Zielen.
  • Grafana – Zur Visualisierung dieser Metriken mithilfe von Dashboards.
  • Ein gemeinsames Netzwerk und persistenter Speicher für beide Dienste.
  1. Erstellen Sie eine Datei namens prometheus.yml für die Prometheus-Konfiguration:
global:
  scrape_interval: 15s

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']

Weitere Exporter (wie node_exporter oder cAdvisor) können Sie später hinzufügen, indem Sie diese Konfiguration erweitern.

  1. Erstelle eine docker-compose.yml-Datei für beide Tools:
version: '3.8'

services:
  prometheus:
    image: prom/prometheus:latest
    container_name: prometheus
    volumes:
      - prometheus-data:/prometheus
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
    ports:
      - "9090:9090"
    restart: unless-stopped

  grafana:
    image: grafana/grafana:latest
    container_name: grafana
    environment:
      - GF_SECURITY_ADMIN_PASSWORD=admin123
    ports:
      - "3000:3000"
    volumes:
      - grafana-data:/var/lib/grafana
    restart: unless-stopped
    depends_on:
      - prometheus

volumes:
  prometheus-data:
  grafana-data:
  1. Starten Sie beide Container mit Docker Compose:
docker-compose up -d

Stellen Sie sicher, dass Sie diesen Befehl in demselben Verzeichnis ausführen, in dem Sie die Dateien docker-compose.yml und prometheus.yml gespeichert haben.

Grafana ist jetzt unter http://localhost:3000 erreichbar und Prometheus unter http://localhost:9090. Jetzt müssen Sie Prometheus nur noch als Datenquelle im Grafana-Dashboard hinzufügen, dann ist die Erfassung Ihrer Metriken einsatzbereit!

Mit Docker Compose bleibt Ihre Einrichtung leichter wartbar und ist besser für den Produktiveinsatz geeignet, besonders wenn Sie über Grafana hinaus erweitern möchten.

Fazit

Grafana in Docker auszuführen, ist einer der schnellsten und flexibelsten Wege, leistungsstarke Dashboards und Monitoring im Handumdrehen einzusetzen.

Hier sind die wichtigsten Erkenntnisse:

  • Mit einem einfachen docker run-Befehl können Sie Grafana sofort starten.
  • Durch die persistente Speicherung von Daten mit Volumes bleiben Ihre Dashboards, Einstellungen und Plugins über einzelne Sitzungen hinweg erhalten.
  • Mit Umgebungsvariablen können Sie Grafana beim Start vorab konfigurieren – ideal für Automatisierung und Konsistenz.
  • Mit einem benutzerdefinierten Docker-Image können Sie Plugins vorinstallieren oder Standardeinstellungen integrieren.
  • Docker Compose vereinfacht Setups mit mehreren Containern und macht Ihre Deployments wiederholbar und leicht zu verwalten.

Mit nur wenigen Befehlen gelangen Sie von null zu einer vollständig funktionsfähigen Grafana-Instanz. Ganz gleich, ob Sie einen Monitoring-Stack aufbauen, Datenquellen testen oder Dashboards mit Ihrem Team teilen: Mit Docker arbeiten Sie schnell und flexibel, ohne Kompromisse einzugehen.

Nachdem Sie die Grundlagen beherrschen, können Sie Grafana mit einer Datenquelle wie Prometheus oder InfluxDB verbinden, Community-Plugins ausprobieren oder das Ganze sogar als Teil Ihrer CI/CD-Pipeline automatisieren.

Häufig gestellte Fragen (FAQ) zum Ausführen eines Grafana-Docker-Images

Was ist ein Grafana-Docker-Image?

Das Grafana-Docker-Image ist eine vorkonfigurierte Version von Grafana, die alle erforderlichen Abhängigkeiten enthält. Es ist für den Betrieb in einem Docker-Container ausgelegt und ermöglicht Ihnen, Grafana schnell und konsistent über verschiedene Umgebungen hinweg bereitzustellen, ohne Software auf Ihrem Host-System manuell installieren oder konfigurieren zu müssen.

Wie ziehe ich das Grafana-Docker-Image?

Um das Grafana-Image von Docker Hub herunterzuladen, führen Sie Folgendes aus:
docker pull grafana/grafana
Dieser Befehl lädt die aktuelle stabile Version von Grafana auf Ihr System herunter, sodass sie sofort einsatzbereit ist. Sie können auch ein Versions-Tag wie grafana/grafana:10.3.1 angeben, um eine bestimmte Release-Version zu laden.

Welche grundlegenden Befehle gibt es, um Grafana in Docker auszuführen?

Am einfachsten führen Sie Grafana in Docker mit dem Befehl docker run aus:
docker run -d -p 3000:3000 --name=grafana grafana/grafana
Dadurch startet Grafana im Hintergrund, ordnet Port 3000 zu und macht das Dashboard unter http://localhost:3000 erreichbar. Verwenden Sie docker stop grafana, um den Docker-Container zu stoppen.

Alle Tutorial-Inhalte auf dieser Website unterliegen Hostingers strengen redaktionellen Standards und Normen.

Author
Erstellt von

Faradilla Ayunindya

Faradilla, auch bekannt als Ninda, ist Content Marketing Specialist bei Hostinger mit über fünf Jahren Erfahrung und einem zehnjährigen Hintergrund als Linguistin. Sie möchte Technologie für alle zugänglich machen, indem sie komplexe Anleitungen in klare und leicht verständliche Schritt-für-Schritt-Guides verwandelt. In ihrer Freizeit interessiert sie sich für Biowissenschaften oder schaut gerne lustige Tiervideos. Vernetzen Sie sich mit ihr auf LinkedIn.

Was unsere Kunden sagen

Kommentar schreiben

Please fill the required fields.Bitte akzeptieren Sie die Datenschutzklausel.Bitte füllen Sie die erforderlichen Felder aus und akzeptieren Sie die Datenschutzklausel.

Thank you! Your comment has been successfully submitted. It will be approved within the next 24 hours.