Funkcje woluminów Docker
- Udostępnianie danych i pamięci masowej między wieloma kontenerami i systemami plików hosta.
- Oddzielenie pojemników od magazynu.
- Nie usuwa zawartych danych podczas usuwania kontenera.
- Łatwe tworzenie kopii zapasowych, przywracanie i migracja danych.
W tym samouczku wyjaśnimy, czym jest wolumen Docker i jak z niego korzystać, a także jak zamontować wolumen w Docker.
Wymagania
- System z systemem Linux z zainstalowanym Dockerem.
- Hasło roota jest skonfigurowane.
Podstawowa składnia woluminu Docker
Możesz użyć polecenia „docker volume”, aby zobaczyć wszystkie dostępne opcje z głośnością:
wolumin dokowanyPo wprowadzeniu powyższego polecenia powinieneś zobaczyć następujące dane wyjściowe:
Użycie: docker volume COMMANDZarządzaj wolumenami
Polecenia:
utwórz Utwórz wolumin
sprawdzać Wyświetla szczegółowe informacje na jednym lub kilku tomach
ls Lista woluminów
prune Usuń wszystkie nieużywane woluminy lokalne
rm Usuń jeden lub więcej woluminów
Uruchom 'polecenie woluminu docker --help', aby uzyskać więcej informacji o poleceniu.
Utwórz wolumin
Aby utworzyć wolumen danych, musisz najpierw utworzyć wolumen danych na hoście Docker i podłączyć go do kontenera.
Możesz utworzyć wolumen Docker za pomocą polecenia „utwórz wolumen Docker.Na przykład użyj następującego polecenia, aby utworzyć nowy wolumin platformy Docker o nazwie myvolume:
Docker volume utwórz myvolumePowinieneś zobaczyć następujące dane wyjściowe:
mojaobjętośćMożesz wyświetlić listę istniejącego woluminu za pomocą następującego polecenia:
wolumin dokowany lsPowinieneś zobaczyć następujące dane wyjściowe:
NAZWA WOLUMENU KIEROWCYlokalny c2d2815ba1a75fbfe5d0a4b69d94269e55ccbc138c7d2e19504e501f1dbe634f
lokalny myvolume
Jeśli chcesz zobaczyć więcej informacji o woluminie, uruchom następujące polecenie:
docker sprawdź myvolumePo uruchomieniu powyższego polecenia powinieneś otrzymać następujące dane wyjściowe:
["UtworzonoO": "2020-09-12T04:51:31Z",
„Kierowca”: „lokalny”,
„Etykiety”: ,
"Punkt montowania": "/var/lib/docker/volumes/myvolume/_data",
"Nazwa": "mojwolumen",
„Opcje”: ,
„Zakres”: „lokalny”
]
Zamontuj wolumin
W tym momencie masz jeden tom o nazwie myvolume. W tym przykładzie utworzysz kontener i zamontujesz myvolume do kontenera.
Możesz użyć opcji -mount, aby zamontować wolumin. Podstawowa składnia do zamontowania woluminu w kontenerze jest pokazana poniżej:
Docker run --mount source=nazwa-woluminu,miejsce docelowe=ścieżka-wewnątrz-kontenera-obrazy-dockeraNa przykład, aby utworzyć kontener Ubuntu i zamontować myvolume do kontenera, uruchom następujące polecenie:
docker run -it --name=volumecontainer --mount source=myvolume,destination=/data ubuntuTo polecenie pobierze obraz Ubuntu z Docker Hub, uruchomi kontener w trybie interaktywnym z nazwą volumecontainer i zamontuje kontener myvolume do /data w katalogu /data:
Nie można znaleźć lokalnie obrazu „ubuntu:latest”najnowsze: Pobieranie z biblioteki/ubuntu
54ee1f796a1e: Ciągnięcie zakończone
f7bfea53ad12: Ciągnięcie zakończone
46d371e02073: Ciągnięcie zakończone
b66c17bbf772: Ciągnięcie zakończone
Podsumowanie: sha256:31dfb10d52ce76c5ca0aa19d10b3e6424b830729e32a89a7c6ee2cda2be67a5
Status: Pobrano nowszy obraz dla ubuntu:najnowszy
root@06a477c4e444:/#
Możesz sprawdzić zamontowany wolumin za pomocą następującego polecenia:
[email chroniony]:/# lsPowinieneś zobaczyć katalog danych w następującym wyniku:
bin boot data dev etc home lib lib32 lib64 libx32 media mntopt proc root run sbin srv sys tmp usr var
Teraz utworzymy przykładowy plik o nazwie plik.txt w katalogu /data za pomocą następującego polecenia:
echo "To jest plik testowy!"> /dane/plik.tekstWyjdź z kontenera za pomocą następującego polecenia:
WyjścieUruchom ponownie ten sam kontener za pomocą następującego polecenia:
docker kontener start volumecontainerNastępnie dołącz działający kontener za pomocą następującego polecenia:
docker exec -it volumecontainer /bin/bashSprawdź, czy Twój plik.txt jest trwały z następującymi elementami:
dane/pliki dotyczące kota.tekstPo wprowadzeniu powyższego polecenia powinieneś otrzymać następujące dane wyjściowe:
To jest plik testowy!
Udostępniaj dane między kontenerami
Możesz także udostępniać dane między wieloma kontenerami za pomocą woluminu Docker.
Jak wiecie, stworzyliśmy wolumen o nazwie myvolume i nowy kontener o nazwie volumecontainer używający tego wolumenu. Stworzyliśmy również plik o nazwie plik.txt w tomie.
Teraz utworzymy kolejny kontener o nazwie volumecontainer1 z tym samym woluminem myvolume za pomocą następującego polecenia:
docker run -it --name=volumecontainer1 --mount source=myvolume,destination=/data ubuntuUruchom ls polecenie, jak pokazano poniżej:
lsPowinieneś zobaczyć katalog danych w następującym wyniku:
bin boot data dev etc home lib lib32 lib64 libx32media mnt opt proc root run sbin srv sys tmp usr var
Uruchom następujące polecenie, aby sprawdzić plik.tekst:
kot /dane/plik.tekstPowinieneś zobaczyć tę samą zawartość, którą utworzyłeś w poprzednim kontenerze:
To jest plik testowy!
Zamontuj katalog jako wolumin
Możesz użyć katalogu znajdującego się w systemie hosta Dockera jako woluminu i zamontować go w kontenerze. Możesz również użyć opcji -v, aby osiągnąć to samo, jak pokazano poniżej:
Docker run -v "nazwa_katalogu":nazwa_wolumu docker_imageUtwórz katalog o nazwie /data wewnątrz hosta platformy Docker za pomocą następującego polecenia:
mkdir /DaneNastępnie utwórz kilka plików w katalogu /Data:
cd /Danedotknij plik1.plik txt2.plik txt3.tekst
Utwórz nowy kontener, używając katalogu /Data jako woluminu za pomocą następującego polecenia:
docker run -it --name=data1 -v /Data:/Data ubuntuTo polecenie utworzy nowy kontener i zamontuje wolumin o nazwie /Dane.
Uruchom następujące polecenie, aby sprawdzić zawartość katalogu /Data:
ls -l /Dane/Powinieneś zobaczyć wszystkie pliki, które wcześniej utworzyliśmy w systemie hosta, jak pokazano poniżej:
łącznie 0-rw-r--r-- 1 root root 0 Sep 12 05:41 file1.tekst
-rw-r--r-- 1 root root 0 Sep 12 05:41 file2.tekst
-rw-r--r-- 1 root root 0 Sep 12 05:41 file3.tekst
Usuń wolumin Dockera
Wolumin można łatwo usunąć lub usunąć, używając następującej składni:
wolumin dokowany rm nazwa woluminuNa przykład, aby usunąć wolumin o nazwie myvolume, uruchom następujące polecenie:
objętość docker rm myvolumePowinieneś otrzymać następujący błąd:
Odpowiedź na błąd od demona: usuń myvolume:wolumin jest w użyciu - [06a477c4e4444c0f815a1ec4a151a8
339bf53d5060c492af867bcaebe531dd5d, fd8d05a027a755f
1df004ccf62568b5d66989c2112115c8a652ddbc8eb960948]
Dzieje się tak, ponieważ Twój wolumen jest używany przez kontener. Musisz więc zatrzymać i wyjąć pojemnik przed usunięciem woluminu.
Aby zatrzymać i usunąć kontener, uruchom następujące polecenie:
docker objętość zatrzymania kontenerapojemność kontenerakontener1docker pojemnik RM objętość pojemnik pojemnik pojemnik1
Teraz możesz łatwo usunąć głośność.
Wniosek
Z powyższego poradnika dowiedziałeś się, czym jest wolumen Docker, jak go utworzyć i jak zamontować wewnątrz kontenera. Nauczyłeś się również, jak udostępniać dane między wieloma kontenerami za pomocą woluminu.