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 -