Я робив деякі складні речі з докером, але, як виявилося, я не знаю, що -it
означає прапор. Нещодавно я натрапив на якийсь приклад docker run
команди, який мене трохи збентежив.
docker run -itd ubuntu:xenial /bin/bash
Моє питання полягає в тому, який сенс писати -it
тут прапор, якщо контейнер під час запуску екземпляра запускаєтьсяbin/bash
У документації ми маємо приклад
docker run --name test -it debian
з поясненням
-It вказує Docker виділити псевдо-TTY, підключений до stdin контейнера; створення інтерактивної оболонки bash у контейнері.
та пояснення прапора -t на сторінці довідки
-t, --tty Виділити псевдо-TTY
якщо я видалю прапор -it під час
docker run -d ubuntu:xenial /bin/bash
мій нещодавно створений контейнер не так багато живе
в docker ps -a
він позначається як вийшов
Вибачте, якщо моє запитання досить дурне, я не можу знайти пояснення в Інтернеті (у мене є суттєве нерозуміння цього питання).
/bin/bash
на stdin немає вмісту, він не має команд для запуску та жодного способу запросити користувача, тому він виходить. Це 100% нормальна та очікувана поведінка.