Den Volume-Befehl in Docker verstehen

Den Volume-Befehl in Docker verstehen

In Docker können wir separate Images, Container und Volumes erstellen. Volumes können gemountet werden, wenn wir einen Container starten.

Wenn wir es manuell in Docker tun können, können wir es durch einen Build-Prozess automatisieren, der eine Datei namens Dockerfile verwendet.

In diesem Artikel wird das Erstellen, Erstellen und Bereitstellen von Volumes über die Dockerfile in Docker erläutert.

Verstehen der VOLUME-Anweisung in Docker

Bei der Arbeit mit einem Dockerfile verwenden wir mehrere Anweisungen, um den Build eines einzelnen oder mehrerer Container zu automatisieren. Ein Beispiel für diese Befehle ist der VOLUME-Befehl.

In einem Dockerfile sollte es ungefähr so aussehen:

FROM ubuntu
RUN mkdir /samplevol
VOLUME /samplevol

Es gibt jedoch einige Verwirrung, wenn wir versuchen, den Wert für die Anweisung VOLUME in unsere Dockerfile einzugeben. Wenn wir die Anweisung VOLUME verwenden, müssen wir verstehen, dass wir hier nicht den Ort unseres Docker-Volumes außerhalb des Containers angeben.

Stattdessen teilen wir dem Ziel mit der Anweisung VOLUME mit, wo wir in einem Container unser externes Docker-Volume mounten, wenn der Container bereits läuft.

Wenn wir uns erinnern können, können wir beim Ausführen eines Containers den Parameter --volume oder -v verwenden, um ein bestimmtes Volume zu mounten. Es gibt jedoch andere Zwecke für diesen Parameter.

Beispielsweise können wir mit dem Parameter --volume angeben, an welchem Ort wir das Docker-Volume mounten sollen.

Beispielbefehl:

docker run --volume=/volumesd:/samplevol sushi_bake

Im obigen Befehl ist das Verzeichnis /volumesd der Speicherort des nicht gemounteten Docker-Volumes. Im Verzeichnis /samplevol werden wir das Docker-Volume innerhalb des erstellten und laufenden Containers mounten.

Außerdem ist das Verzeichnis /samplevol der richtige Wert für die VOLUME-Anweisung in unserem Dockerfile.

Alternativ können wir die Verwirrung vermeiden, indem wir keine VOLUME-Anweisung in unser Dockerfile einfügen. Wenn wir in unserer VOLUME-Anweisung keinen Mount-Punkt hinzugefügt haben, weist Docker einen Standardspeicherort für das zu mountende Volume zu.

Der Speicherort befindet sich normalerweise unter /var/lib/docker/volumes.

Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn