Docker/Datenbank: Unterschied zwischen den Versionen

Aus Foxwiki
Wechseln zu:Navigation, Suche
Keine Bearbeitungszusammenfassung
 
(58 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
== Datenbank ==
<noinclude>
; Persitente Datenbank
----
Persistieren der DB
{{Navigation|Docker/Aktualisieren|Aktualisieren|Docker/Mounts|Mounts}}
* Falls Sie es nicht bemerkt haben, ist Ihre ToDo-Liste jedes Mal leer, wenn Sie den Container starten. Warum ist das so? In diesem Teil werden wir uns ansehen, wie der Container funktioniert
----
'''Docker/Datenbank''' - Persistente Datenbanken
</noinclude>


=== [https://docs.docker.com/get-started/workshop/05_persisting_data/#the-containers-filesystem Das Dateisystem des Containers] ===
== Beschreibung ==
Wenn ein Container läuft, verwendet er die verschiedenen Schichten eines Images für sein Dateisystem. Jeder Container erhält auch seinen eigenen "Scratch Space", um Dateien zu erstellen/zu aktualisieren/zu löschen. Alle Änderungen werden in einem anderen Container nicht sichtbar, selbst wenn sie das gleiche Image verwenden
Persistieren einer Datenbank
* Containerdaten persistiert


==== [https://docs.docker.com/get-started/workshop/05_persisting_data/#see-this-in-practice Sehen Sie dies in der Praxis] ====
== Beispiel ==
Um dies in Aktion zu sehen, werden Sie zwei Container starten. In einem Container erstellen Sie eine Datei. In dem anderen Container überprüfen Sie, ob die gleiche Datei existiert.# Starten Sie einen Alpine-Container und erstellen Sie in diesem eine neue Datei
* Bislang ist die To-do-Liste leer, wenn Sie den Container starten
* Warum ist das so?
* In diesem Kapitel wird dargestellt, wie der Container funktioniert


docker run --rm alpine touch greeting.txt* Tipp
; Datenbanksysteme
Die meisten Anwendungsprogramme müssen in einer Form Daten speichern


Alle Befehle, die Sie nach dem Image-Namen (in diesem Fall Alpine) angeben, werden innerhalb des Containers ausgeführt. In diesem Fall legt der Befehl touch greeting.txt eine Datei namens greeting.txt im Dateisystem des Containers an.* Starten Sie einen neuen Alpine-Container und verwenden Sie den Befehl stat, um zu überprüfen, ob die Datei existiert
In manchen Fällen reichen dazu simple Dateien aus
* Bei komplexeren Apps, die netzwerk-, multi-user- und transaktionsfähig sein sollen, geht aber kein Weg an einem »richtigen« Datenbank-Management-System (DBMS) vorbei
Dank Docker können Sie sich zumindest für den Test- und Entwicklungsbetrieb die mühsame Konfiguration eines Datenbankservers sparen und stattdessen das gewünschte Datenbanksystem mit wenigen Kommandos bzw.&nbsp;mit ein paar Zeilen in compose.yaml in Betrieb nehmen


docker run --rm alpine stat greeting.txt
; Datenbanksysteme
* [[Docker/Buch/10 Datenbanken/MySQL und MariaDB]]
* [[Docker/Buch/10 Datenbanken/PostgreSQL]]
* [[Docker/Buch/10 Datenbanken/MongoDB]]
* [[Docker/Buch/10 Datenbanken/Redis]]


Sie sollten eine ähnliche Ausgabe wie die folgende sehen, die anzeigt, dass die Datei im neuen Container nicht existiert.# stat: can't stat 'greeting.txt': No such file or directory
Beispiele
* [[Docker/Webapplikationen und CMS]]


Die Datei greeting.txt, die vom ersten Container erstellt wurde, existiert nicht im zweiten Container. Das liegt daran, dass die beschreibbare "oberste Schicht" eines jeden Containers isoliert ist. Auch wenn beide Container dieselben Schichten verwenden, die das Basis-Image bilden, ist die beschreibbare Schicht für jeden Container einzigartig
== Containers-Dateisystem ==
Wenn ein Container läuft, verwendet er die verschiedenen Schichten eines Images für sein Dateisystem.
* Jeder Container erhält auch seinen eigenen "Scratch Space", um Dateien zu erstellen/zu aktualisieren/zu löschen.
* Alle Änderungen werden in einem anderen Container nicht sichtbar, obwohl sie das gleiche Image verwenden


=== [https://docs.docker.com/get-started/workshop/05_persisting_data/#container-volumes Container-Volumen] ===
=== Praxis ===
Bei dem vorherigen Experiment haben Sie gesehen, dass jeder Container bei jedem Start von der Image-Definition ausgeht. Container können zwar Dateien erstellen, aktualisieren und löschen, diese Änderungen gehen jedoch verloren, wenn Sie den Container entfernen, und Docker isoliert alle Änderungen an diesem Container. Mit Volumes können Sie all dies ändern
Um dies in Aktion zu sehen, werden Sie zwei Container starten. In einem Container erstellen Sie eine Datei. In dem anderen Container überprüfen Sie, ob die gleiche Datei existiert.


[https://docs.docker.com/engine/storage/volumes/ Volumes] bieten die Möglichkeit, bestimmte Dateisystempfade des Containers wieder mit dem Host-Rechner zu verbinden. Wenn Sie ein Verzeichnis im Container mounten, werden Änderungen an diesem Verzeichnis auch auf dem Host-Rechner sichtbar. Wenn Sie dasselbe Verzeichnis über mehrere Container-Neustarts hinweg mounten, sehen Sie dieselben Dateien
1.&nbsp;Starten Sie einen Alpine-Container und erstellen Sie in diesem eine neue Datei
<syntaxhighlight lang="bash" highlight="1" line copy>
docker run --rm alpine touch greeting.txt
</syntaxhighlight>


Es gibt zwei Haupttypen von Volumes. Letztendlich werden Sie beide verwenden, aber Sie werden mit dem Einhängen von Volumes beginnen
2.&nbsp;Alle Befehle, die Sie nach dem Image-Namen (in diesem Fall Alpine) angeben, werden innerhalb des Containers ausgeführt. In diesem Fall legt der Befehl <code>touch greeting.txt</code> eine Datei namens greeting.txt im Dateisystem des Containers an.


=== [https://docs.docker.com/get-started/workshop/05_persisting_data/#persist-the-todo-data Persistieren der ToDo-Daten] ===
3.&nbsp;Starten Sie einen neuen Alpine-Container und verwenden Sie den Befehl stat, um zu überprüfen, ob die Datei existiert
Standardmäßig speichert die Todo-App ihre Daten in einer SQLite-Datenbank unter /etc/todos/todo.db im Dateisystem des Containers. Wenn Sie mit SQLite nicht vertraut sind, kein Problem! Es handelt sich einfach um eine relationale Datenbank, die alle Daten in einer einzigen Datei speichert. Dies ist zwar nicht die beste Lösung für umfangreiche Anwendungen, aber für kleine Demos ist sie durchaus geeignet. Sie werden später lernen, wie Sie zu einer anderen Datenbank-Engine wechseln können
<syntaxhighlight lang="bash" highlight="1" line copy>docker run --rm alpine stat greeting.txt</syntaxhighlight>
Sie sollten eine ähnliche Ausgabe wie die folgende sehen, die anzeigt, dass die Datei im neuen Container nicht existiert.
<syntaxhighlight lang="bash" highlight="" line>stat: can't stat 'greeting.txt': No such file or directory</syntaxhighlight>
Die Datei greeting.txt, die vom ersten Container erstellt wurde, existiert nicht im zweiten Container.
* Das liegt daran, dass die beschreibbare "oberste Schicht" eines jeden Containers isoliert ist.
* Auch wenn beide Container dieselben Schichten verwenden, die das Basis-Image bilden, ist die beschreibbare Schicht für jeden Container einzigartig


Da es sich bei der Datenbank um eine einzelne Datei handelt, sollten Sie diese Datei auf dem Host persistieren und dem nächsten Container zur Verfügung stellen können, damit dieser dort weitermachen kann, wo der letzte aufgehört hat. Indem Sie ein Volume erstellen und es an das Verzeichnis, in dem Sie die Daten gespeichert haben, anhängen (oft "mounten" genannt), können Sie die Daten persistieren. Wenn Ihr Container in die Datei todo.db schreibt, werden die Daten auf dem Host im Volume persistiert
; Hinweis
:Der Parameter <code>--rm</code> des Befehls <code>docker run</code> wird verwendet, um den Container und seine beschreibbare Ebene nach Abschluss des Prozesses automatisch zu löschen.


Wie bereits erwähnt, werden Sie ein Volume Mount verwenden. Stellen Sie sich einen Volume-Mount als einen undurchsichtigen Eimer mit Daten vor. Docker verwaltet das Volume vollständig, einschließlich des Speicherorts auf der Festplatte. Sie müssen sich nur den Namen des Volumes merken
== Container-Volumen ==
Jeder Container wird beim Start erneut auf Basis des Images erstellt
* Ein Container kann während der Laufzeit Dateien erstellen, ändern und löschen. Allerdings gehen alle Änderungen beim Entfernen des Containers verloren
* Durch die Verwendung von '''Volumes''' können Daten außerhalb des Containers gespeichert und beim Entfernen des Containers beibehalten werden


==== [https://docs.docker.com/get-started/workshop/05_persisting_data/#create-a-volume-and-start-the-container Erstellen eines Volumes und Starten des Containers] ====
; Volumes
Sie können das Volume erstellen und den Container über die CLI oder die grafische Oberfläche von Docker Desktop starten.# Erstellen Sie ein Volume mit dem Befehl docker volume create
* Ermöglichen, bestimmte Dateisystempfade des Containers wieder mit dem Host-Rechner zu verbinden.
* Wenn Sie ein Verzeichnis im Container mounten, werden Änderungen an diesem Verzeichnis auch auf dem Host-Rechner sichtbar.
* Wenn Sie dasselbe Verzeichnis über mehrere Container-Neustarts hinweg mounten, sehen Sie dieselben Dateien


* docker volume create todo-db
Es gibt zwei Haupttypen von Volumes
* Letztlich werden beide verwendet, jedoch wird zunächst mit '''Volume-Mounts''' begonnen.


* Stoppen und entfernen Sie den todo app Container erneut mit docker rm -f <id>, da er noch läuft, ohne das persistente Volume zu verwenden
== Persistieren der ToDo-Daten ==
; Persistieren der ToDo-Daten
* Standardmäßig speichert die Todo-App ihre Daten in einer SQLite-Datenbank unter /etc/todos/todo.db im Dateisystem des Containers
* SQLite ist eine relationale Datenbank, die alle Daten in einer einzigen Datei ablegt
* Da die Datenbank aus einer einzelnen Datei besteht, kann diese Datei auf dem Host-System persistiert und von einem neuen Container weiterverwendet werden, um den vorherigen Zustand beizubehalten
* Durch das Erstellen eines Volumes und das Mounten an das Verzeichnis, in dem die Daten liegen, werden die Daten dauerhaft gespeichert
* Alle Schreibvorgänge in die Datei todo.db werden auf dem Host im Volume gespeichert
* Docker verwaltet das Volume vollständig, einschließlich des physischen Speicherorts. Es genügt, den Namen des Volumes zu kennen


* Starten Sie den todo-App-Container, aber fügen Sie die Option --mount hinzu, um ein Volume zu mounten. Geben Sie dem Volume einen Namen und mounten Sie es in /etc/todos im Container, wodurch alle Dateien, die unter dem Pfad erstellt werden, erfasst werden
=== Volume erstellen und Container starten ===
Sie können das Volume erstellen und den Container über die CLI oder die grafische Oberfläche von Docker Desktop starten.


docker run -dp 127.0.0.1:3000:3000 --mount type=volume,src=todo-db,target=/etc/todos getting-started
1.&nbsp;Volume erstellen
<syntaxhighlight lang="bash" highlight="1" line copy>
docker volume create todo-db
</syntaxhighlight>


Hinweis
2.&nbsp;Container anhalten und entfernen
: Stoppen und Entfernen des Todo-App-Containers, während er noch kein verwendet
<syntaxhighlight lang="bash" highlight="1" line copy>
docker rm -f <id>
</syntaxhighlight>


Wenn Sie Git Bash verwenden, müssen Sie für diesen Befehl eine andere Syntax verwenden.# docker run -dp 127.0.0.1:3000:3000 --mount type=volume,src=todo-db,target=//etc/todos getting-started
3.&nbsp;Starten Sie den todo-App-Container, aber fügen Sie die Option --mount hinzu, um ein Volume zu mounten. Geben Sie dem Volume einen Namen und mounten Sie es in <code>/etc/todos</code> im Container, wodurch alle Dateien, die unter dem Pfad erstellt werden, erfasst werden


Weitere Einzelheiten zu den Syntaxunterschieden von Git Bash finden Sie unter[https://docs.docker.com/desktop/troubleshoot-and-support/troubleshoot/topics/#docker-commands-failing-in-git-bash Arbeiten mit Git Bash .]
<syntaxhighlight lang="bash" highlight="1" line copy>
docker run -dp 3000:3000 --mount type=volume,src=todo-db,target=/etc/todos getting-started
</syntaxhighlight>


==== [https://docs.docker.com/get-started/workshop/05_persisting_data/#verify-that-the-data-persists Überprüfen, ob die Daten erhalten bleiben] ====
;Hinweis
: Wenn Sie Git Bash verwenden, müssen Sie für diesen Befehl eine andere Syntax verwenden
 
<syntaxhighlight lang="bash" highlight="1" line copy>
docker run -dp 3000:3000 --mount type=volume,src=todo-db,target=//etc/todos getting-started
</syntaxhighlight>
 
=== Überprüfen, ob die Daten erhalten bleiben ===
# Sobald der Container hochgefahren ist, öffnen Sie die Anwendung und fügen Sie Ihrer ToDo-Liste einige Einträge hinzu
# Sobald der Container hochgefahren ist, öffnen Sie die Anwendung und fügen Sie Ihrer ToDo-Liste einige Einträge hinzu
 
# Stoppen und entfernen Sie den Container für die Todo-App. Verwenden Sie Docker Desktop oder <code>docker ps</code>, um die ID zu ermitteln, und dann <code>docker rm -f <id></code>, um ihn zu entfernen.
# Stoppen und entfernen Sie den Container für die Todo-App. Verwenden Sie Docker Desktop oder docker ps, um die ID zu ermitteln, und dann docker rm -f <id>, um ihn zu entfernen
# Starten Sie einen neuen Container unter Verwendung der vorherigen Schritte
# Starten Sie einen neuen Container unter Verwendung der vorherigen Schritte
# Öffnen Sie die App. Sie sollten Ihre Objekte immer noch in Ihrer Liste sehen
# Öffnen Sie die App. Sie sollten Ihre Objekte immer noch in Ihrer Liste sehen
# Entfernen Sie den Container, wenn Sie mit dem Auschecken Ihrer Liste fertig sind
# Entfernen Sie den Container, wenn Sie mit dem Auschecken Ihrer Liste fertig sind


Sie haben nun gelernt, wie man Daten persistiert
== volume inspect ==
 
Um herauszufinden, wo Docker die Dateien eines bestimmten Volumes speichert, kann man den Befehl <code>docker volume inspect</code> verwenden.
=== [https://docs.docker.com/get-started/workshop/05_persisting_data/#dive-into-the-volume Tauchen Sie in das Volumen ein] ===
Viele Leute fragen häufig: "Wo speichert Docker meine Daten, wenn ich ein Volume verwende?" Wenn Sie das wissen wollen, können Sie den Befehl docker volume inspect verwenden


<syntaxhighlight lang="bash" highlight="1" line copy>
docker volume inspect todo-db
docker volume inspect todo-db
</syntaxhighlight>


Sie sollten eine Ausgabe wie die folgende sehen:
Sie sollten eine Ausgabe wie die folgende sehen:
 
<syntaxhighlight lang="json" highlight="1" line copy>
[
[


Zeile 89: Zeile 143:


]
]
</syntaxhighlight>
Der <code>Mountpoint</code> ist der tatsächliche Speicherort der Daten auf der Festplatte.
; Hinweis
: Beachten Sie, dass Sie auf den meisten Rechnern ''über Root-Zugriff'' verfügen müssen, um vom Host aus auf dieses Verzeichnis zuzugreifen
<noinclude>
== Nächste Schritte ==
Als Nächstes erfahren Sie, wie Sie Ihre Anwendung mithilfe von [[Docker/Mounts|Bind Mounts]] effizienter entwickeln können


Der Mountpoint ist der tatsächliche Speicherort der Daten auf der Festplatte. Beachten Sie, dass Sie auf den meisten Rechnern über Root-Zugriff verfügen müssen, um vom Host aus auf dieses Verzeichnis zuzugreifen
----
{{Navigation|Docker/Aktualisieren|Aktualisieren|Docker/Mounts|Mounts}}
----


=== [https://docs.docker.com/get-started/workshop/05_persisting_data/#summary Zusammenfassung] ===
== Anhang ==
In diesem Abschnitt haben Sie gelernt, wie man Containerdaten persistiert
=== Siehe auch ===
<div style="column-count:2">
<categorytree hideroot=on mode="pages">Docker</categorytree>
</div>
----
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}


Verwandte Informationen
=== Dokumentation ===
<!--
; Man-Page
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]
 
; Info-Pages
-->
 
=== Links ===
==== Projekt ====
==== Weblinks ====
* [https://docs.docker.com/reference/cli/docker/ Docker CLI-Referenz]
* [https://docs.docker.com/reference/cli/docker/ Docker CLI-Referenz]
* [https://docs.docker.com/engine/storage/volumes/ Volumes]
* [https://docs.docker.com/engine/storage/volumes/ Volumes]


=== [https://docs.docker.com/get-started/workshop/05_persisting_data/#next-steps Nächste Schritte] ===
[[Kategorie:Docker/Datenbank]]
Als Nächstes erfahren Sie, wie Sie Ihre Anwendung mithilfe von Bind Mounts effizienter entwickeln können
</noinclude>
 
[https://docs.docker.com/get-started/workshop/06_bind_mounts/ Bind Mounts verwenden]
 
[[Kategorie:Docker/Workshop]]

Aktuelle Version vom 13. November 2026, 10:17 Uhr



Docker/Datenbank - Persistente Datenbanken


Beschreibung

Persistieren einer Datenbank

  • Containerdaten persistiert

Beispiel

  • Bislang ist die To-do-Liste leer, wenn Sie den Container starten
  • Warum ist das so?
  • In diesem Kapitel wird dargestellt, wie der Container funktioniert
Datenbanksysteme

Die meisten Anwendungsprogramme müssen in einer Form Daten speichern

In manchen Fällen reichen dazu simple Dateien aus

  • Bei komplexeren Apps, die netzwerk-, multi-user- und transaktionsfähig sein sollen, geht aber kein Weg an einem »richtigen« Datenbank-Management-System (DBMS) vorbei

Dank Docker können Sie sich zumindest für den Test- und Entwicklungsbetrieb die mühsame Konfiguration eines Datenbankservers sparen und stattdessen das gewünschte Datenbanksystem mit wenigen Kommandos bzw. mit ein paar Zeilen in compose.yaml in Betrieb nehmen

Datenbanksysteme

Beispiele

Containers-Dateisystem

Wenn ein Container läuft, verwendet er die verschiedenen Schichten eines Images für sein Dateisystem.

  • Jeder Container erhält auch seinen eigenen "Scratch Space", um Dateien zu erstellen/zu aktualisieren/zu löschen.
  • Alle Änderungen werden in einem anderen Container nicht sichtbar, obwohl sie das gleiche Image verwenden

Praxis

Um dies in Aktion zu sehen, werden Sie zwei Container starten. In einem Container erstellen Sie eine Datei. In dem anderen Container überprüfen Sie, ob die gleiche Datei existiert.

1. Starten Sie einen Alpine-Container und erstellen Sie in diesem eine neue Datei

docker run --rm alpine touch greeting.txt

2. Alle Befehle, die Sie nach dem Image-Namen (in diesem Fall Alpine) angeben, werden innerhalb des Containers ausgeführt. In diesem Fall legt der Befehl touch greeting.txt eine Datei namens greeting.txt im Dateisystem des Containers an.

3. Starten Sie einen neuen Alpine-Container und verwenden Sie den Befehl stat, um zu überprüfen, ob die Datei existiert

docker run --rm alpine stat greeting.txt

Sie sollten eine ähnliche Ausgabe wie die folgende sehen, die anzeigt, dass die Datei im neuen Container nicht existiert.

stat: can't stat 'greeting.txt': No such file or directory

Die Datei greeting.txt, die vom ersten Container erstellt wurde, existiert nicht im zweiten Container.

  • Das liegt daran, dass die beschreibbare "oberste Schicht" eines jeden Containers isoliert ist.
  • Auch wenn beide Container dieselben Schichten verwenden, die das Basis-Image bilden, ist die beschreibbare Schicht für jeden Container einzigartig
Hinweis
Der Parameter --rm des Befehls docker run wird verwendet, um den Container und seine beschreibbare Ebene nach Abschluss des Prozesses automatisch zu löschen.

Container-Volumen

Jeder Container wird beim Start erneut auf Basis des Images erstellt

  • Ein Container kann während der Laufzeit Dateien erstellen, ändern und löschen. Allerdings gehen alle Änderungen beim Entfernen des Containers verloren
  • Durch die Verwendung von Volumes können Daten außerhalb des Containers gespeichert und beim Entfernen des Containers beibehalten werden
Volumes
  • Ermöglichen, bestimmte Dateisystempfade des Containers wieder mit dem Host-Rechner zu verbinden.
  • Wenn Sie ein Verzeichnis im Container mounten, werden Änderungen an diesem Verzeichnis auch auf dem Host-Rechner sichtbar.
  • Wenn Sie dasselbe Verzeichnis über mehrere Container-Neustarts hinweg mounten, sehen Sie dieselben Dateien

Es gibt zwei Haupttypen von Volumes

  • Letztlich werden beide verwendet, jedoch wird zunächst mit Volume-Mounts begonnen.

Persistieren der ToDo-Daten

Persistieren der ToDo-Daten
  • Standardmäßig speichert die Todo-App ihre Daten in einer SQLite-Datenbank unter /etc/todos/todo.db im Dateisystem des Containers
  • SQLite ist eine relationale Datenbank, die alle Daten in einer einzigen Datei ablegt
  • Da die Datenbank aus einer einzelnen Datei besteht, kann diese Datei auf dem Host-System persistiert und von einem neuen Container weiterverwendet werden, um den vorherigen Zustand beizubehalten
  • Durch das Erstellen eines Volumes und das Mounten an das Verzeichnis, in dem die Daten liegen, werden die Daten dauerhaft gespeichert
  • Alle Schreibvorgänge in die Datei todo.db werden auf dem Host im Volume gespeichert
  • Docker verwaltet das Volume vollständig, einschließlich des physischen Speicherorts. Es genügt, den Namen des Volumes zu kennen

Volume erstellen und Container starten

Sie können das Volume erstellen und den Container über die CLI oder die grafische Oberfläche von Docker Desktop starten.

1. Volume erstellen

docker volume create todo-db

2. Container anhalten und entfernen

Stoppen und Entfernen des Todo-App-Containers, während er noch kein verwendet
docker rm -f <id>

3. Starten Sie den todo-App-Container, aber fügen Sie die Option --mount hinzu, um ein Volume zu mounten. Geben Sie dem Volume einen Namen und mounten Sie es in /etc/todos im Container, wodurch alle Dateien, die unter dem Pfad erstellt werden, erfasst werden

docker run -dp 3000:3000 --mount type=volume,src=todo-db,target=/etc/todos getting-started
Hinweis
Wenn Sie Git Bash verwenden, müssen Sie für diesen Befehl eine andere Syntax verwenden
docker run -dp 3000:3000 --mount type=volume,src=todo-db,target=//etc/todos getting-started

Überprüfen, ob die Daten erhalten bleiben

  1. Sobald der Container hochgefahren ist, öffnen Sie die Anwendung und fügen Sie Ihrer ToDo-Liste einige Einträge hinzu
  2. Stoppen und entfernen Sie den Container für die Todo-App. Verwenden Sie Docker Desktop oder docker ps, um die ID zu ermitteln, und dann docker rm -f <id>, um ihn zu entfernen.
  3. Starten Sie einen neuen Container unter Verwendung der vorherigen Schritte
  4. Öffnen Sie die App. Sie sollten Ihre Objekte immer noch in Ihrer Liste sehen
  5. Entfernen Sie den Container, wenn Sie mit dem Auschecken Ihrer Liste fertig sind

volume inspect

Um herauszufinden, wo Docker die Dateien eines bestimmten Volumes speichert, kann man den Befehl docker volume inspect verwenden.

docker volume inspect todo-db

Sie sollten eine Ausgabe wie die folgende sehen:

[

{

"CreatedAt": "2019-09-26T02:18:36Z",

"Driver": "local",

"Labels": {},

"Mountpoint": "/var/lib/docker/volumes/todo-db/_data",

"Name": "todo-db",

"Optionen": {},

"Scope": "local"

}

]

Der Mountpoint ist der tatsächliche Speicherort der Daten auf der Festplatte.

Hinweis
Beachten Sie, dass Sie auf den meisten Rechnern über Root-Zugriff verfügen müssen, um vom Host aus auf dieses Verzeichnis zuzugreifen



Nächste Schritte

Als Nächstes erfahren Sie, wie Sie Ihre Anwendung mithilfe von Bind Mounts effizienter entwickeln können



Anhang

Siehe auch


Dokumentation

Projekt