Запустить контейнер Docker в фоновом режиме (отсоединенный режим)
В Docker разработчик образа может определить значения по умолчанию для образа, связанные с запуском в фоновом режиме или на переднем плане, а также другие полезные настройки. Но, используя команду docker run [OPTIONS], вы можете добавлять к этим настройкам или переопределять их, установленные разработчиком образа, что дает вам больше контроля над тем, как запускается контейнер.
Также читают: ctop - интерфейс, похожий на Top, для мониторинга контейнеров Docker
В этой статье мы кратко объясним режим работы на переднем плане и режим работы в фоновом режиме контейнера, а также покажем, как запустить Docker-контейнер в фоновом режиме в отсоединенном режиме.
Режим на переднем плане (по умолчанию) против режима в фоновом/отсоединённом режиме
Прежде чем запускать контейнер Docker, вы должны, прежде всего, решить, хотите ли вы запустить его в режиме по умолчанию — впереди или в фоновом режиме — в отсоединённом режиме.
В режиме переднего плана Docker может запустить процесс в контейнере и подключить консоль к стандартному вводу, стандартному выводу и стандартной ошибке процесса.
Существуют также параметры командной строки для дополнительной настройки, такие как -t для выделения псевдо-TTY для процесса и -i для удержания STDIN открытым даже при его отсутствии. Вы также можете подключить его к одному или нескольким файловым дескрипторам (STDIN, STDOUT и/или STDERR) с помощью флага -a=[укажите значение].
Важно, что --rm option сообщает Docker автоматически удалять контейнер при его завершении. Этот пример показывает, как запустить контейнер Docker в режиме переднего плана:
# docker run --rm -ti -p 8000:80 -p 8443:443 --name pandorafms pandorafms/pandorafms:latest
Недостаток запуска контейнера в переднем плане заключается в том, что вы больше не можете получить доступ к командной строке, как видно на скриншоте выше. Это означает, что вы не можете выполнять другие команды, пока контейнер работает.
Чтобы запустить контейнер Docker в фоновом режиме, используйте опцию -d=true или просто -d. Сначала остановите его из режима переднего плана, нажав [Ctrl+C], затем запустите его в отключённом режиме, как показано:
# docker run -d --rm -p 8000:80 -p 8443:443 --name pandorafms pandorafms/pandorafms:latest
Чтобы перечислить все контейнеры, выполните следующую команду (по умолчанию показываются только запущенные).
# docker ps -a
Кроме того, чтобы повторно подключиться к отсоединенному контейнеру, используйте команду docker attach.
# docker attach --name pandorafms
OR
# docker attach 301aef99c1f3
Если вы хотите остановить приведённый выше контейнер или любой другой работающий контейнер, используйте следующую команду (замените 301aef99c1f3 на фактический идентификатор контейнера).
# docker stop 301aef99c1f3
Вам также может быть интересно прочитать следующие связанные статьи о Docker.
- Установите Docker и изучите основные операции с контейнерами в CentOS и RHEL 7/6 - Часть 1
- Как назвать или переименовать контейнеры Docker
- Как удалить Docker-образы, контейнеры и тома
Вот и все! В этой статье мы показали, как запустить контейнер Docker в фоновом режиме в отсоединенном режиме. Используйте форму комментариев ниже, чтобы оставить нам отзыв или задать вопросы по этой статье.


