Chroot vs Docker

Próbuję nauczyć się podstaw o kontenerach (w tym przypadku Docker). Z tego co wiem z Dockera doc i kilku odczytów, Docker zasadniczo zapewnia izolację poprzez uruchomienie kontenera przy użyciu runc (poprzednio używając LXC). Tak czy inaczej używa tego samego jądra co maszyna hosta. Dlatego obraz kontenera musi być zgodny z jądrem hosta. Uważam to za bardzo podobne do tego, co robi chroot. Czy ktoś mógłby mi wyjaśnić jakieś różnice i / lub zalety używania Dockera zamiast chroot? (poza dodatkami dostarczanymi przez Docker jako packaging, Docker-hub i wszystkimi przyjemnymi funkcjami dostarczanymi przez Docker) {]}

Author: MaxB, 2017-09-27

1 answers

Docker pozwala wyizolować proces na wielu poziomach poprzez przestrzenie nazw:

  • mnt przestrzeÅ„ nazw zapewnia główny system plików (ten można porównać do chroot, jak sÄ…dzÄ™)
  • przestrzeÅ„ nazw pid wiÄ™c proces widzi tylko siebie i swoje dzieci
  • przestrzeÅ„ nazw sieci, która pozwala kontenerowi na posiadanie dedykowanego stosu sieciowego
  • przestrzeÅ„ nazw użytkownika (caÅ‚kiem nowa), która pozwala na mapowanie użytkownika nie root na hoÅ›cie z użytkownikiem root w kontenerze
  • uts zapewnia dedykowanÄ… nazwÄ™ hosta
  • ipc zapewnia dedykowanÄ… pamięć współdzielonÄ…

Wszystko to dodaje więcej izolacji niż zapewnia chroot

 19
Author: Luc,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-13 10:42:13