Поиск по сайту:

Запустить контейнер 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 в режиме переднего плана

Недостаток запуска контейнера в переднем плане заключается в том, что вы больше не можете получить доступ к командной строке, как видно на скриншоте выше. Это означает, что вы не можете выполнять другие команды, пока контейнер работает.

Чтобы запустить контейнер Docker в фоновом режиме, используйте опцию -d=true или просто -d. Сначала остановите его из режима переднего плана, нажав [Ctrl+C], затем запустите его в отключённом режиме, как показано:

# docker run -d --rm -p 8000:80 -p 8443:443 --name pandorafms pandorafms/pandorafms:latest

Запустить контейнер Docker в фоновом режиме

Чтобы перечислить все контейнеры, выполните следующую команду (по умолчанию показываются только запущенные).

# docker ps -a

Список всех запущенных контейнеров Docker

Кроме того, чтобы повторно подключиться к отсоединенному контейнеру, используйте команду docker attach.

# docker attach --name pandorafms
OR
# docker attach 301aef99c1f3

Если вы хотите остановить приведённый выше контейнер или любой другой работающий контейнер, используйте следующую команду (замените 301aef99c1f3 на фактический идентификатор контейнера).

# docker stop 301aef99c1f3

Вам также может быть интересно прочитать следующие связанные статьи о Docker.

  1. Установите Docker и изучите основные операции с контейнерами в CentOS и RHEL 7/6 - Часть 1
  2. Как назвать или переименовать контейнеры Docker
  3. Как удалить Docker-образы, контейнеры и тома

Вот и все! В этой статье мы показали, как запустить контейнер Docker в фоновом режиме в отсоединенном режиме. Используйте форму комментариев ниже, чтобы оставить нам отзыв или задать вопросы по этой статье.