Doker

Wolumeny Dockera, montaż i więcej

Wolumeny Dockera, montaż i więcej
W Dockerze za każdym razem, gdy tworzysz kontener, jest określone miejsce, w którym będą przechowywane dane dla kontenera. Jeśli nie podasz żadnej lokalizacji, w której dane mają być przechowywane, zostaną one zapisane w kontenerze. Gdy usuniesz kontener, dane również zostaną utracone. Jednak podczas pracy nad projektami korporacyjnymi, aby zapobiec utracie danych, możesz usunąć kontener, ale zachować dane. Możesz użyć tych danych, aby utworzyć więcej kontenerów i udostępniać dane między tymi kontenerami. Tutaj do gry wchodzi głośność Dockera.

Funkcje woluminów Docker

W tym samouczku wyjaśnimy, czym jest wolumen Docker i jak z niego korzystać, a także jak zamontować wolumen w Docker.

Wymagania

Podstawowa składnia woluminu Docker

Możesz użyć polecenia „docker volume”, aby zobaczyć wszystkie dostępne opcje z głośnością:

wolumin dokowany

Po wprowadzeniu powyższego polecenia powinieneś zobaczyć następujące dane wyjściowe:

Użycie: docker volume COMMAND
Zarzą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 myvolume

Powinieneś 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 ls

Powinieneś zobaczyć następujące dane wyjściowe:

NAZWA WOLUMENU KIEROWCY
lokalny c2d2815ba1a75fbfe5d0a4b69d94269e55ccbc138c7d2e19504e501f1dbe634f
lokalny myvolume

Jeśli chcesz zobaczyć więcej informacji o woluminie, uruchom następujące polecenie:

docker sprawdź myvolume

Po 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-dockera

Na 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 ubuntu

To 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]:/# ls

Powinieneś zobaczyć katalog danych w następującym wyniku:

bin boot data dev etc home lib lib32 lib64 libx32 media mnt
opt 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.tekst

Wyjdź z kontenera za pomocą następującego polecenia:

Wyjście

Uruchom ponownie ten sam kontener za pomocą następującego polecenia:

docker kontener start volumecontainer

Następnie dołącz działający kontener za pomocą następującego polecenia:

docker exec -it volumecontainer /bin/bash

Sprawdź, czy Twój plik.txt jest trwały z następującymi elementami:

dane/pliki dotyczące kota.tekst

Po 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 ubuntu

Uruchom ls polecenie, jak pokazano poniżej:

ls

Powinieneś zobaczyć katalog danych w następującym wyniku:

bin boot data dev etc home lib lib32 lib64 libx32
media mnt opt ​​proc root run sbin srv sys tmp usr var

Uruchom następujące polecenie, aby sprawdzić plik.tekst:

kot /dane/plik.tekst

Powinieneś 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_image

Utwórz katalog o nazwie /data wewnątrz hosta platformy Docker za pomocą następującego polecenia:

mkdir /Dane

Następnie utwórz kilka plików w katalogu /Data:

cd /Dane
dotknij 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 ubuntu

To 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 woluminu

Na przykład, aby usunąć wolumin o nazwie myvolume, uruchom następujące polecenie:

objętość docker rm myvolume

Powinieneś 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ść kontenerakontener1
docker 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.

5 najlepszych ergonomicznych myszy komputerowych dla systemu Linux
Czy długotrwałe korzystanie z komputera powoduje ból nadgarstka lub palców?? Cierpisz na sztywne stawy i ciągle musisz uścisnąć dłonie? Czy czujesz pa...
Jak zmienić ustawienia myszy i touchpada za pomocą Xinput w systemie Linux?
Większość dystrybucji Linuksa jest domyślnie dostarczana z biblioteką „libinput” do obsługi zdarzeń wejściowych w systemie. Może przetwarzać zdarzenia...
Remap your mouse buttons differently for different software with X-Mouse Button Control
Maybe you need a tool that could make your mouse's control change with every application that you use. If this is the case, you can try out an applica...