2016-11-01 3 views
0

Я новичок в докере, отсюда может отсутствовать простая деталь. Вот мой сценарий. Я начал контейнер с командой «docker run -it ubuntu: 14.04». Затем с помощью Ctrl + P + Q я вышел из него, так что контейнер продолжает работать. Я проверил docker ps и увидел, что контейнер работает. Затем я снова вошел в контейнер с помощью «docker exec -it bash». Это снова забрало меня в контейнер. Теперь, набрав команду «exit», я выхожу из контейнера, но контейнер все еще находится в режиме работы. Обычно с командой exit контейнер останавливается. Любая идея, почему это происходит?Докер-контейнер показывает работу даже после команды выхода

ответ

2

Состояние работы контейнера привязано к первоначальному процессу, который был создан для/с.

Если вы сделаете docker run, то это создаст новый контейнер с некоторым встроенным процессом. Когда этот процесс завершается, весь контейнер останавливается. Если этот начальный процесс был bash, а вы exit, то это завершает сам контейнер.

docker exec начинает новый процесс внутри работающего контейнера. Когда этот процесс завершается, контейнер продолжает работать.

Ввод exit в интерактивную оболочку bash будет просто выйти из этой оболочки. Это не повлияет на другие процессы, запущенные внутри одного и того же контейнера (так же как закрытие одного окна терминала в вашей операционной системе не влияет на другие процессы).

+0

Спасибо за ответ –

0

С командой exit в вашем случае контейнер останавливается только /bin/bash/ исполняемый файл. Вероятно, в контейнере работает какое-то другое приложение, такое как NGINX или Apache, и не позволяет ему отключиться.

Смежные вопросы