Ich habe viele Container, die unangenehm schnell wachsen; B. Datenbanken.
Wenn Sie ein externes Docker-Volume erstellen (docker volume create {volume_name}
), sehe ich es im Verzeichnis der Docker-Volumes unter /var/lib/docker/volumes/{volume_name}
aufgelistet .
Ist es in Ordnung, volume_name
zu mounten? Verzeichnis auf einer, sagen wir, LVM-Partition, damit ich das Host-Betriebssystem verwenden kann, um die Partition einfach zu erweitern?
Ich habe dies tatsächlich für einen MySQL-Container versucht, aber als ich es tat, sehe ich keine Dateien darin /var/lib/docker/volumes/{volume_name}/
.
Ist dies zulässig?
Akzeptierte Antwort:
Wenn Sie das tun möchten, erstellen Sie am besten ein LV, das unter /var/lib/docker/volumes/<volname>
gemountet wird bevor Sie das Volume in Docker erstellen. Ich habe es auch gerade auf meinem Laptop versucht. Ich habe das unter /var/lib/docker/volumes/demo
gemountete LV erstellt , gemountet und dann das Volume demo
erstellt in Docker und alles schien glücklich.
Alternativ könnte dies auch im Direct-lvm-Modus von Docker behoben werden.
Zitat:„Der Devicemapper-Treiber verwendet Docker-eigene Blockgeräte und arbeitet auf Blockebene und nicht auf Dateiebene. Diese Geräte können erweitert werden, indem Sie Ihrem Docker-Host physischen Speicher hinzufügen, und sie sind leistungsfähiger als die Verwendung eines Dateisystems auf der Ebene des Betriebssystems.“