Szukaj…


Wprowadzenie

Woluminy danych dokerów umożliwiają zachowanie danych niezależnie od cyklu życia kontenera. Tomy przedstawiają szereg przydatnych funkcji, takich jak:

Montowanie katalogu hosta w kontenerze, współdzielenie danych między kontenerami za pomocą systemu plików i zachowanie danych w przypadku usunięcia kontenera

Składnia

  • wolumin dokera [OPCJE] [POLECENIE]

Montowanie katalogu z lokalnego hosta do kontenera

Możliwe jest zamontowanie katalogu hosta do określonej ścieżki w kontenerze za pomocą opcji wiersza polecenia -v lub --volume . Poniższy przykład zamontuje /etc na hoście do /mnt/etc w kontenerze:

(on linux) docker run -v "/etc:/mnt/etc" alpine cat /mnt/etc/passwd
(on windows)  docker run -v "/c/etc:/mnt/etc" alpine cat /mnt/etc/passwd

Domyślny dostęp do woluminu w kontenerze to odczyt-zapis. Aby zamontować wolumin tylko do odczytu w kontenerze, użyj przyrostka :ro :

docker run -v "/etc:/mnt/etc:ro" alpine touch /mnt/etc/passwd

Tworzenie nazwanego woluminu

docker volume create --name="myAwesomeApp"

Korzystanie z nazwanego woluminu znacznie ułatwia zarządzanie woluminami. Możliwe jest utworzenie nazwanego woluminu za pomocą polecenia określonego powyżej, ale możliwe jest również utworzenie nazwanego woluminu wewnątrz polecenia docker run --volume za pomocą opcji wiersza polecenia -v lub --volume :

docker run -d --name="myApp-1" -v="myAwesomeApp:/data/app" myApp:1.5.3

Należy zauważyć, że utworzenie nazwanego woluminu w tej formie jest podobne do montowania pliku / katalogu hosta jako woluminu, z tym wyjątkiem, że zamiast prawidłowej ścieżki określa się nazwę woluminu. Po utworzeniu nazwane woluminy można udostępniać innym kontenerom:

docker run -d --name="myApp-2" --volumes-from "myApp-1" myApp:1.5.3

Po uruchomieniu powyższego polecenia utworzono nowy kontener o nazwie myApp-2 z obrazu myApp:1.5.3 , który współdzieli myAwesomeApp nazwie myAwesomeApp z myApp-1 . myAwesomeApp nazwany myAwesomeApp jest montowany w /data/app w kontenerze myApp-2 , tak jak jest montowany w /data/app w kontenerze myApp-1 .



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow