Ich verstehe den Unterschied zwischen Docker und Chroot nicht. Ja, es ist schön in Bezug auf die Verpackung der Registrierung. Aber irgendwie habe ich das Gefühl, dass es nur mit zusätzlichen Schnickschnack ist.
Ich weiß, dass mir etwas fehlt. Es wäre großartig zu wissen, wie unterschiedlich sie sind und wie wichtig Docker sind, wenn Chroot etwas Ähnliches tun könnte.
Ich konnte diesen Chroot Vs Docker auch nicht klar genug finden.
docker
linux
containers
Vipin Menon
quelle
quelle
Antworten:
Nun, die zusätzlichen Schnickschnack werden als Prozessisolation bezeichnet. Ein Container erhält einen eigenen Namespace vom Host-Kernel. Das bedeutet, dass das Programm im Container nicht versuchen kann, den Kernel-Speicher zu lesen oder mehr RAM als zulässig zu verbrauchen.
Außerdem werden Netzwerkstapel isoliert, sodass beispielsweise zwei Prozesse Port 8080 überwachen können. Sie müssen das Routing auf Hostebene abwickeln. Hier gibt es keine Magie, aber dies ermöglicht die Abwicklung des Routings an einem Ort und vermeidet Änderungen an der Prozesskonfiguration Hören Sie sich einen freien Port an.
Zweitens wird eine Chroot immer noch gelesen / geschrieben, jede Änderung ist dauerhaft, ein Docker-Container, der verwendet
aufs
wird, startet jedes Mal, wenn Sie den Container starten, aus einem sauberen Dateisystem (Änderungen werden beibehalten, wenn Sie ihn IIRC stoppen / starten).Während ein Container als
process namespace
+ betrachtet werden kannchroot
, ist die Realität etwas komplexer.quelle
aufs
nicht mehr standardmäßig verwendet wird. Jetzt ist esoverlay2
Ja, es steckt absolut mehr dahinter als
chroot
der Punkt, dass sie wenig bis gar nichts gemeinsam haben.docker image prune
...)docker exec
in sie usw.)docker container ...
)docker-compose
oder schwärmen als Low-Profile-Upgrades auf viel mehr.quelle