Назад | Перейти на главную страницу

почему докер не выполняет init как lxc

Докер не запускает init. Значит, службы не запускаются при запуске. Lxc запускает init во время lxc-start. Поскольку Docker использует lxc, почему он не запускает init. Каковы преимущества отсутствия запуска init и зависимости от супервизора для демонизации?

Этот вопрос был поднят как выпуск на GitHub, и запрос на перенос объединен, чтобы разрешить init для запуска с версии 0.6.x):

docker run $IMAGE /sbin/init

источник

Первоначальная причина, по которой init не был запущен (недействителен, поскольку 0.6.x):

при запуске нового контейнера docker mint ограничивает себя как / sbin / init внутри контейнера, скрывая настоящий / sbin / init и в процессе делая его недоступным для выполнения.

Этот ответ может предложить дополнительную помощь, и Руководство по Docker может пригодиться.

Докер - это контейнер приложения, больше ориентированы на распространение приложений в виде контейнеров. В этом приложении / процессе выполняется внутри контейнер - единственный запущенный, их процесс инициализации. Если вашему процессу требуется больше приложений (mysql, база данных mongodb и т. Д.), Вы не запускаете их в своем контейнере докеров, управляемом одним демоном инициализации, вы запускаете больше контейнеров докеров, каждый внутри контейнера докеров.

Можешь попробовать http://phusion.github.io/baseimage-docker/ который предоставляет простой демон инициализации для запуска большего количества процессов внутри вашего образа докера (он основан на Ubuntu) или вы можете попробовать LXD http://www.ubuntu.com/cloud/lxd для контейнерной техники используется больше как системный контейнер.