Docker
Pojęcie woluminów Docker
Szukaj…
Uwagi
Ludzie nowi w Docker często nie zdają sobie sprawy, że systemy plików Docker są domyślnie tymczasowe. Jeśli uruchomisz obraz Dockera, otrzymasz pojemnik, który na powierzchni zachowuje się bardzo podobnie do maszyny wirtualnej. Możesz tworzyć, modyfikować i usuwać pliki. Jednak w przeciwieństwie do maszyny wirtualnej, jeśli zatrzymasz kontener i uruchomisz go ponownie, wszystkie zmiany zostaną utracone - wszystkie wcześniej usunięte pliki zostaną przywrócone, a wszelkie nowe pliki lub zmiany, które wprowadzisz, nie będą obecne.
Woluminy w kontenerach dokowanych umożliwiają zachowanie trwałych danych oraz współdzielenie danych host-maszyna w kontenerze.
A) Uruchom kontener z woluminem
[root@localhost ~]# docker run -it -v /data --name=vol3 8251da35e7a7 /bin/bash
root@d87bf9607836:/# cd /data/
root@d87bf9607836:/data# touch abc{1..10}
root@d87bf9607836:/data# ls
abc1 abc10 abc2 abc3 abc4 abc5 abc6 abc7 abc8 abc9
B) Teraz naciśnij [cd + P + Q], aby wyjść z kontenera bez kończenia sprawdzania kontenera, który jest uruchomiony
[root@localhost ~]# docker ps
ID KONTENERA OBRAZ KOMUNIKAT TWORZONY STATUS NAZWY PORTÓW d87bf9607836 8251da35e7a7 "/ bin / bash" Około minuty temu Do 31 sekund vol3 [root @ localhost ~] #
C) Uruchom „docker inspect”, aby sprawdzić więcej informacji o woluminie
[root@localhost ~]# docker inspect d87bf9607836
„Mounts”: [{„Name”: „cdf78fbf79a7c9363948e133abe4c572734cd788c95d36edea0448094ec9121c”, „Source”: „/ var / lib / docker / Tomes”: „local”: „local”: data ”: „Mode”: „”, „RW”: true
D) Możesz dołączyć działający wolumin kontenerów do innych kontenerów
[root@localhost ~]# docker run -it --volumes-from vol3 8251da35e7a7 /bin/bash
root@ef2f5cc545be:/# ls
bin boot data dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
root@ef2f5cc545be:/# ls
/ data abc1 abc10 abc2 abc3 abc4 abc5 abc6 abc7 abc8 abc9
E) Możesz także zamontować katalog podstawowy w kontenerze
[root@localhost ~]# docker run -it -v /etc:/etc1 8251da35e7a7 /bin/bash
Tutaj: / etc jest katalogiem hosta, a / etc1 jest celem wewnątrz kontenera