Der Unterschied zwischen „-v“ und „-mount“ in Docker besteht darin: Wenn Sie „-v“ zum Mounten des Hostverzeichnisses verwenden und keine angegebene Datei auf dem Host vorhanden ist, wird kein Fehler gemeldet und die angegebene Datei wird automatisch erstellt; wenn bei Verwendung von „-mount“ keine solche Datei auf dem Host-Computer vorhanden ist, wird ein Fehler gemeldet, dass die angegebene Datei nicht gefunden werden kann, und die angegebene Datei wird nicht automatisch erstellt.
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Docker-1.13.1-Version, Dell G3-Computer.
Was ist der Unterschied zwischen -v und -mount im Docker?
--volume(-v)
Der Parameter --volume (oder kurz -v) kann nur einen Bind-Mount erstellen. Beispiel: docker
docker run --name $CONTAINER_NAME -it \ -v $PWD/$CONTAINER_NAME/app:/app:rw \ -v $PWD/$CONTAINER_NAME/data:/data:ro \ avocado-cloud:latest /bin/bash
Kommentar: Sicherheit
Befehlsformat: [[HOST-DIR:]CONTAINER-DIR[:OPTIONS]]]
Wenn HOST-DIR angegeben ist, muss es ein absoluter Pfad sein nicht vorhanden, wird es automatisch ausgeführt. Die rw in der erstellten
-Instanz ist schreibgeschützt, ro ist schreibgeschützt
--mount
Parameter--mount wird standardmäßig zum Mounten des Volumes verwendet, kann aber auch verwendet werden um Bind Mount und tmpfs zu erstellen. Wenn die Typoption nicht angegeben ist, ist das Mounten von Volumes eine flexiblere Datenverwaltungsmethode. Volumes können über den Docker-Volume-Befehlssatz verwaltet werden. Beispiel: bash
docker run --name $CONTAINER_NAME -it \ --mount type=bind,source=$PWD/$CONTAINER_NAME/app,destination=/app \ --mount source=${CONTAINER_NAME}-data,destination=/data,readonly \ avocado-cloud:latest /bin/bash
Kommentar: app
Befehlsformat für das Mount-Volume: [Typ=Volume,]Quelle=mein-Volume,Ziel=/Pfad/in/Container[,...]
Bind-Mount-Befehlsformat erstellen: type=bind,source=/path/on/host,destination=/path/in/container[,...]
Wenn Sie einen Bind-Mount erstellen und die Quelle angeben, muss es sich um einen absoluten Pfad und den Pfad handeln muss bereits vorhanden sein
Im Beispiel bedeutet schreibgeschützt
Unterschied:
Wenn die Datei nicht auf dem Host vorhanden ist, wird sie automatisch erstellt
Wenn jedoch --mount vorhanden ist Wenn keine solche Datei auf dem Host vorhanden ist, wird ein Fehler gemeldet und die Datei kann nicht gefunden werden. Die Erstellung ist fehlgeschlagen
Empfohlenes Lernen: „Docker-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen -v und -mount in Docker?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!