Docker - Storage

Sterowniki pamięci masowej

Docker ma wiele sterowników pamięci masowej, które pozwalają na pracę z podstawowymi urządzeniami pamięci masowej. W poniższej tabeli przedstawiono różne sterowniki pamięci masowej wraz z technologią używaną w tych sterownikach.

Technologia Sterownik pamięci masowej
OverlayFS overlay lub overlay 2
AUFS aufs
Btrfs brtfs
Menadżer urządzeń menadżer urządzeń
VFS vfs
ZFS zfs

Omówmy teraz niektóre przypadki, w których używałbyś różnych sterowników pamięci masowej -

AUFS

  • To jest stabilny sterownik; może być używany do aplikacji gotowych do produkcji.

  • Ma dobre wykorzystanie pamięci i jest dobre dla zapewnienia płynnego działania platformy Docker dla kontenerów.

  • Z tym sterownikiem wiąże się czynność związana z wysokim zapisem, którą należy wziąć pod uwagę.

  • Jest to dobre dla systemów, które działają jako platforma jako usługa.

Devicemapper

  • To jest stabilny sterownik; zapewnia płynne działanie Dockera.

  • Ten sterownik jest dobry do testowania aplikacji w laboratorium.

  • Ten sterownik jest zgodny z główną funkcjonalnością jądra Linuksa.

Btrfs

  • Ten sterownik jest zgodny z główną funkcjonalnością jądra Linuksa.

  • Z tym sterownikiem wiąże się czynność związana z wysokim zapisem, którą należy wziąć pod uwagę.

  • Ten sterownik jest dobry w przypadkach, w których utrzymujesz wiele pul kompilacji.

Ovelay

  • To jest stabilny sterownik i jest zgodny z główną funkcjonalnością jądra Linuksa.

  • Ma dobre wykorzystanie pamięci.

  • Ten sterownik jest dobry do testowania aplikacji w laboratorium.

ZFS

  • To jest stabilny sterownik i jest dobry do testowania aplikacji w laboratorium.

  • Jest to dobre dla systemów, które działają typu Platform-as-a-Service.

Aby zobaczyć używany sterownik pamięci masowej, wydaj plik docker info Komenda.

Składnia

docker info

Opcje

Żaden

Wartość zwracana

Polecenie zapewni wszystkie względne informacje o składniku Docker zainstalowanym na hoście platformy Docker.

Przykład

sudo docker info

Wynik

Poniższe dane wyjściowe pokazują, że głównym używanym sterownikiem jest aufs sterownik i że katalog główny jest przechowywany w /var/lib/docker/aufs.

Woluminy danych

W Dockerze masz oddzielny wolumin, który można współużytkować w kontenerach. Są one znane jakodata volumes. Niektóre cechy objętości danych to:

  • Są inicjowane podczas tworzenia kontenera.
  • Można je udostępniać, a także ponownie wykorzystywać w wielu pojemnikach.
  • Wszelkie zmiany w samej głośności można wprowadzić bezpośrednio.
  • Istnieją nawet po usunięciu kontenera.

Spójrzmy na nasz kontener Jenkins. Zróbmydocker inspectaby zobaczyć szczegóły tego obrazu. Możemy wydać następujące polecenie, aby zapisać dane wyjściowe plikudocker inspect polecenie do pliku tekstowego, a następnie odpowiednio wyświetl plik.

sudo docker inspect Jenkins > tmp.txt

Podczas przeglądania pliku tekstowego przy użyciu rozszerzenia more command, zobaczysz wpis jako JENKINS_HOME=/var/Jenkins_home.

To jest mapowanie, które jest wykonywane w kontenerze za pośrednictwem obrazu Jenkins.

Załóżmy teraz, że chcesz zmapować wolumen w kontenerze na wolumin lokalny, a następnie musisz określić opcję –v podczas uruchamiania kontenera. Przykład pokazano poniżej -

sudo docker run –d –v /home/demo:/var/jenkins_home –p 8080:8080 –p 50000:50000 jenkins

Opcja –v służy do mapowania woluminu w kontenerze, który jest /var/jenkins_home do lokalizacji na naszym hoście Docker, czyli /home/demo.

Teraz, jeśli przejdziesz do /home/demo lokalizacja na Twoim hoście Docker po uruchomieniu kontenera, zobaczysz wszystkie obecne tam pliki kontenerów.

Zmiana sterownika pamięci masowej dla kontenera

Jeśli chcesz zmienić sterownik magazynu używany dla kontenera, możesz to zrobić podczas uruchamiania kontenera. Można to zrobić za pomocą–volume-driver parametr podczas korzystania z docker runKomenda. Przykład podano poniżej -

sudo docker run –d --volume-driver=flocker 
   –v /home/demo:/var/jenkins_home –p 8080:8080 –p 50000:50000 jenkins

Plik –volume-driver Opcja służy do określenia innego sterownika magazynu dla kontenera.

Aby potwierdzić, że sterownik został zmieniony, najpierw użyjmy docker pspolecenie, aby wyświetlić uruchomione kontenery i uzyskać identyfikator kontenera. Więc najpierw wydaj następujące polecenie -

sudo docker ps

Następnie wydaj docker inspect do kontenera i umieść dane wyjściowe w pliku tekstowym za pomocą polecenia.

sudo docker inspect 9bffb1bfebee > temp.txt

Jeśli przejrzysz plik tekstowy i przejdziesz do wiersza, który mówi VolumeDriverzobaczysz, że nazwa sterownika została zmieniona.

Tworzenie wolumenu

Wolumin można utworzyć wcześniej za pomocą dockerKomenda. Dowiedzmy się więcej o tym poleceniu.

Składnia

docker volume create –-name=volumename –-opt options

Opcje

  • name - To jest nazwa wolumenu, który ma zostać utworzony.

  • opt - Są to opcje, które możesz podać podczas tworzenia woluminu.

Wartość zwracana

Polecenie wyświetli nazwę utworzonego woluminu.

Przykład

sudo docker volume create –-name = demo –opt o = size = 100m

W powyższym poleceniu tworzymy wolumin o rozmiarze 100MB z nazwą demo.

Wynik

Wynik powyższego polecenia pokazano poniżej -

Lista wszystkich tomów

Możesz także wymienić wszystkie pliki docker volumes na docker host. Więcej szczegółów na temat tego polecenia podano poniżej -

Składnia

docker volume ls

Opcje

Żaden

Wartość zwracana

Polecenie wyświetli wszystkie woluminy w pliku docker host.

Przykład

sudo docker volume ls

Wynik

Wynik powyższego polecenia pokazano poniżej -