В докере мы запускаем контейнер linux.Как вы знаете, система linux активна, когда активен сервис init 0.'init 0' является сердцем системы Linux.когда 'init 0' убит, система linux также умирает.
В контейнерной архитектуре вы запускаете контейнер просто для одной цели, т.е. просто для запуска одной службы.мы хотим, если служба не работает, контейнер также умирает.поэтому мы определяем servcie как init 0
задание для контейнера.
при запуске docker run -it ubuntu bash
, здесь bash
- задание init 0 для контейнера.Как только вы выходите из bash, контейнер перестает работать.
Вместо использования bash
вы также можете попробовать другие команды, например, предложенные @Shmuel.
Хорошо, когда мы создаем пользовательские изображения, часто мы хотим заранее определить задание по умолчанию 'init 0' для нашего пользовательского изображения.Если init 0 'предопределен, вам не нужно упоминать его в команде docker run
.
В образе Ubuntu предопределенное задание init 0 - bash
.Так что, если вы не упомянули bash
в команде run
, она работает так же.