Я не понимаю разницу между докером и chroot. Да, это приятно с точки зрения упаковки реестра. Но почему-то я чувствую, что это просто гул с дополнительными прибамбасами.
Я знаю, что что-то упустил. Было бы здорово узнать, чем они отличаются, и необходимость докера, если chroot может сделать что-то подобное.
Я не мог найти этот Chroot Vs Docker достаточно ясным либо.
docker
linux
containers
Випин Менон
источник
источник
Ответы:
Что ж, лишние навороты называются изоляцией процесса, контейнер получает свое собственное пространство имен от ядра хоста, что означает, что программа в контейнере не может пытаться прочитать память ядра или использовать больше оперативной памяти, чем позволено.
Он также изолирует сетевые стеки, поэтому два процесса могут прослушивать порт 8080, например, вам придется обрабатывать маршрутизацию на уровне хоста, здесь нет никакой магии, но это позволяет обрабатывать маршрутизацию в одном месте и избегать изменения конфигурации процесса в слушать свободный порт.
Во-вторых, chroot по-прежнему доступен для чтения / записи, любое изменение является постоянным, использование контейнера Docker
aufs
будет запускаться из чистой файловой системы каждый раз, когда вы запускаете контейнер (изменения сохраняются, если вы остановите / запустите его IIRC).Таким образом, хотя контейнер можно рассматривать как
process namespace
+chroot
, реальность немного сложнее.источник
aufs
по умолчанию больше не используется. Теперь этоoverlay2
Да, в этом есть нечто большее, чем
chroot
то, что у них мало общего.docker image prune
...)docker exec
в них входить и т. Д.)docker container ...
)docker-compose
или рой как низкопрофильные обновления до гораздо большего.источник