Nie rozumiem różnicy między dokerem a chrootem. Tak, to miłe pod względem pakowania rejestru. Ale jakoś mam wrażenie, że to chroot z dodatkowymi dzwonkami i gwizdkami.
Wiem, że coś mi umknęło. Byłoby wspaniale wiedzieć, czym się różnią i potrzebę dokera, gdyby chroot mógł zrobić coś podobnego.
Nie mogłem też znaleźć tego Chockot Vs Docker wystarczająco jasno.
docker
linux
containers
Vipin Menon
źródło
źródło
Odpowiedzi:
Cóż, dodatkowe dzwonki i gwizdki nazywane są izolacją procesu, kontener otrzymuje własną przestrzeń nazw z jądra hosta, co oznacza, że program w kontenerze nie może próbować odczytać pamięci jądra ani zjadać więcej pamięci RAM niż jest to dozwolone.
Izoluje również stosy sieciowe, więc dwa procesy mogą nasłuchiwać na porcie 8080, na przykład, będziesz musiał obsługiwać routing na poziomie hosta, nie ma tutaj magii, ale pozwala to obsłużyć routing w jednym miejscu i uniknąć modyfikowania konfiguracji procesu do słuchaj wolnego portu.
Po drugie, chroot jest nadal do odczytu / zapisu, każda zmiana jest trwała, użycie kontenera dokera
aufs
rozpocznie się od czystego systemu plików przy każdym uruchomieniu kontenera (zmiany zostaną zachowane, jeśli zatrzymasz / uruchomisz IIRC).Tak więc chociaż kontener można uznać za
process namespace
+chroot
, rzeczywistość jest nieco bardziej złożona.źródło
aufs
nie jest już domyślnie używany. Teraz jestoverlay2
Tak, jest absolutnie coś więcej niż
chroot
to, że nie mają ze sobą nic wspólnego.docker image prune
...)docker exec
nich itp.)docker container ...
)docker-compose
lub rój jako niskoprofilowe aktualizacje do znacznie więcej.źródło