Beim Starten einer Docker-Compose-Anwendung werden beim ersten Start benannte Volumes und bei jedem Start zusätzliche Volumes erstellt. Ist dies das normale Verhalten, da inkrementelle Volumes erstellt werden, oder ist meine Docker-Compose-Datei fehlerhaft? Außerdem wurden nach dem Ausführen docker volume prune
zwei der unbenannten Volumes entfernt
Dies ist die Ausgabe nach zweimaligem Starten:
DRIVER VOLUME NAME
local 2b33c81e6e955ff36061f4120b7181c7efc7aebded2f87eaa7290027f1e7a725
local 74301eadc75018d6f7da76aec44bcf743e03261492cfcc33211941684a570030
local c42b1e2c17342c52b4b9e90f4d4b7fa24ccb30de5479e65cf4366e2373dfb0bf
local dcfa63dbf99362fc92fe3b981f50abebfe1bba03063d4dd9dd790f4c058817cf
local dockerinfluxdbgrafana_grafana-data
local dockerinfluxdbgrafana_influxdb-data
Und als Referenz meine Docker-Compose-Datei
version: "3"
services:
influxdb:
image: influxdb:latest
container_name: influxdb
ports:
- "8086:8086"
env_file:
- 'env.influxdb'
networks:
- backend
volumes:
- influxdb-data:/var/lib/influxdb
grafana:
image: grafana/grafana:latest
container_name: grafana
ports:
- "3000:3000"
env_file:
- 'env.grafana'
- 'secrets.grafana'
networks:
- backend
volumes:
- grafana-data:/var/lib/grafana
networks:
backend:
volumes:
influxdb-data:
grafana-data:
Schritte zum Reproduzieren
docker-compose up -d && docker-compose down && docker-compose up -d && docker-compose down && docker-compose up -d && docker-compose down
docker
docker-compose
Moritz
quelle
quelle
docker-compose up -d && docker-compose down && docker-compose up -d && docker-compose down && docker-compose up -d && docker-compose down
Antworten:
Untersuchungen haben ergeben, dass die anonymen Bände von
influxdb
und erstellt wurdengrafana/grafana
.Ergebnisse
Ergebnisse in:
und jedes Mal, wenn
docker-compose down
und in der Folge ausgeführtup
wird, verdoppelt sich die Anzahl anonymer Volumes.Was passiert, wenn Nginx anstelle von Influxdb und Grafana gezogen wird?
und danach
docker-compose down && docker-compose up -d
?Es sieht so aus, als hätten bestimmte Bilder die zusätzlichen anonymen Volumes erstellt. Ersetzen wir influxdb durch nginx und verwenden grafana.
Jedes Mal, wenn Docker Compose erneut ausgeführt wurde, wurden vom
grafana/grafana
Docker-Image drei anonyme Volumes erstellt . Ersetzen wir influxdb durch nginx und setzen die grafana auf nginx zurück:und es bleiben zwei, wenn neu gestartet.
Es sieht so aus, als würde Grafana das Problem verursachen.
Warum werden bei jedem Neustart von grafana / grafana drei neue anonyme Volumes erstellt?
Die Docking-Datei grafana / grafana gibt an, dass drei anonyme Volumes erstellt werden:
https://docs.docker.com/engine/reference/builder/#volume
docker volume inspect <volume name, e.g. 34cfafd4603dbc7e71a83e2520f978c8307b084143b3192de65a1995dc1d2f86>
gab grafana-Daten zurück, als der zurückgegebene Pfad von zwei von drei anonymen Volumes überprüft wurde:und
quelle
Überprüfen Sie die in
Dockerfile
derVOLUME
Anleitung definierten Volumes .Wenn Sie nicht möchten, dass ein Volume mit zufälligen Namen automatisch erstellt wird, können Sie einen Hostpfad angeben, der an das Volume gebunden werden soll. Überprüfen Sie die Optionen
-v
oder https://docs.docker.com/engine/admin/volumes / volume / # wähle das - v-or-mount-Flag--mount
Zum Beispiel:
quelle
Wenn jemand anderes dieses Kaninchenloch hinuntergeht. Stellen Sie sicher, dass Sie Ihre Lautstärke nicht versehentlich mit einem
=
in Ihrem definiert habenDockerfile
Falsch:
Richtig:
Ich habe lange gebraucht, um herauszufinden, warum die anonymen Bände von hinzugefügt wurden
docker-compose
quelle