Pytanie dlaczego docker ma woluminy dokowania i kontenery woluminów


Dlaczego w dockeru znajdują się woluminy dookólne i pojemniki objętości? Jaka jest główna różnica między nimi. Przeczytałem dokumenty dokera, ale nie mogłem tego dobrze zrozumieć.


14
2018-06-18 15:16


pochodzenie




Odpowiedzi:


Woluminy Docker

Woluminów Docker można użyć do utworzenia nowego woluminu w kontenerze i zamontowania go w folderze hosta. Na przykład. możesz zamontować folder /var/log twojego hosta Linux do twojego kontenera w ten sposób:

docker run -d -v /var/log:/opt/my/app/log:rw some/image

Spowoduje to utworzenie folderu o nazwie /opt/my/app/log wewnątrz twojego kontenera. I ten folder będzie /var/log na twoim hoście Linux. Możesz użyć tego do utrzymywania danych lub udostępniania danych między kontenerami.

Pojemniki objętości Dockera

Teraz, jeśli zamontujesz katalog hosta do swoich kontenerów, w jakiś sposób przerwiesz przyjemną izolację, którą zapewnia Docker. "Zanieczysz" swojego hosta danymi z kontenerów. Aby temu zapobiec, możesz utworzyć dedykowany kontener do przechowywania danych. Docker nazywa ten kontener "Kontenerem objętości danych".

Ten kontener będzie miał wolumen, który chcesz współdzielić między kontenerami, np .:

docker run -d -v /some/data/to/share --name MyDataContainer some/image

Ten kontener uruchomi pewną aplikację (np. Bazę danych) i ma folder o nazwie /some/data/to/share. Możesz teraz udostępnić ten folder innym kontenerze:

docker run -d --volumes-from MyDataContainer some/image

Ten kontener wyświetli także tę samą objętość, co w poprzednim poleceniu. Możesz udostępnić wolumin między wieloma kontenerami, ponieważ możesz udostępnić zamontowany folder hosta. Ale nie będzie zanieczyszczał hosta danymi - wszystko jest nadal uwięzione w izolowanych pojemnikach.

Moje zasoby

https://docs.docker.com/userguide/dockervolumes/


23
2018-06-18 18:17



Dzięki Thomas, to brzmi dobrze. Czy używają protokołu sieciowego do komunikacji między kontenerem objętości danych a innym kontenerem? Czy używają TCP, UDP, gniazd Unix lub jakiegoś innego rodzaju protokołu komunikacyjnego? Czy pozwoliłoby to na podłączenie kontenera objętości danych przez sieć? - Manohar Negi
Czy istnieje łatwe polecenie dokowania, aby wyświetlić istniejące kontenery woluminu? i ewentualnie strukturę zależności danych? - B.Mr.W.
Pojemniki objętościowe są takie same jak inne pojemniki Docker. Najlepszym sposobem określenia, które pojemniki są używane jako pojemniki objętościowe, jest odpowiednie ich nazwanie. Wtedy możesz szybko powiedzieć, które pojemniki objętości używają docker ps dowództwo. - freethebees