Что такое отдельный режим в мире докера? Я считал эту ссылку на статью, но она не объясняет точно, что отсоединило средний режим.
Опция отсоединения на командной строке докера указывает, что клиент докера (docker
) выполнит запрос к серверу (dockerd
), и затем клиент выйдет, в то время как тот запрос продолжает сервер. Часть беспорядка может быть то, что докер похож на единственный процесс, где в действительности это - клиент-серверное приложение, где клиент является просто тонким frontend на API REST для отправки каждой команды в сервер.
С docker container run --detach
, это означает, что контейнер будет создан, сервер ответит контейнерным идентификатором в случае успеха, и контейнер продолжит работать на сервере, в то время как Вы свободны выполнить другие команды. Это часто используется для сервера (например, nginx), Вы хотите запуститься в фоновом режиме, в то время как Вы продолжаете выполнять другие команды. Обратите внимание, что можно все еще настроить контейнер с --interactive
, и -tty
опции (часто сокращал -it
), и позже работайте docker container attach
для соединения с уже рабочим контейнером. (Отметьте, пока Вы не присоединяете к контейнеру, работающему с -itd
, любая попытка контейнера для чтения из stdin зависла бы, вместо того, чтобы видеть конец входа, который часто инициировал непосредственный выход, если Вы просто передали -d
.)
, Если Вы работаете без опции отсоединения, клиент сразу выполнит вызов API присоединения после того, как контейнер будет создан так, Вы видите вывод и дополнительно предоставляете вход рабочему процессу на контейнере. Это полезно, если Ваш контейнер выполняет что-то интерактивное (например, /bin/bash
).
Несколько других команд позволяют опцию отсоединения, включая [1 110], который запустит весь проект и оставит его работающий на сервере в фоновом режиме. Существуют также многие из docker service
команды, которые или отсоединятся после представления изменения в сервере, чтобы создать или обновить целевое состояние сервиса, или если Вы не отсоединитесь, то клиент будет ожидать, пока текущее состояние сервиса не соответствует целевому состоянию, и Вы видите прогресс развертывания. Отметьте с [1 112] команды, Вам, вероятно, придется передать --detach=false
, чтобы остаться присоединенными, поведение переключило прошлый год в зависимости от Вашей версии.