Что меняется в контейнере при использовании docker container create -ti?
Товарищи, подскажите новички. Есть условно два пути для создания контейнер:
1) docker container create "image_name"
В данном случае при docker container start контейнер почти сразу останавливается, так как в нем нет каких либо исполняемых процессов, как я понимаю
2) docker container create -ti "image_name"
В данном случае при docker container start контейнер остается работать в фоне и у меня есть возможность подключится к нему в терминале через attach или exec. Как я понимаю, у меня в этом случае запускается еще и bash, что не дает контейнеру остановится.
Собственно интересует вопрос, а что именно меняется в самом контейнере при создании с ключами -ti? При сборке прописываются какие то параметры внутри контейнера которые при start-е запускают еще и bash? Image то в обоих случая одинаковый
Туда пробрасывается ввод/вывод из терминала, что позволяет пользоваться шеллом внутри контейнера например.
По 1 пункту -- контейнер не остановится, пока процесс в нем не остановится.
По 2 пункту. Необязательно bash -- это может быть любой другой шелл. Команды attach и exec можно выполнять и без предварительного указания ключей -ti.
Это я понимаю, не понятно что меняется в контейнере при create -ti что он теперь может запускаться с фоне без каких либо процессов.
Т.е. я беру стандартный образ ubuntu, собираю его без ключей и делаю container start - при этом он сразу останавливается, тут все понятно.
Второй вариант, я собираю на базе того же образа ubuntu контайнер с ключами -ti, после чего делаю container start - теперь контейнер работает в фоне, хотя того самого процесса в нем нет. Т.е. как я понимаю ключи -ti что то вносят в сам контейнер, и это что то позволяет работать контейнеру в фоне. Не понятно что именно позволяет контейнеру работать в фоне при создании через -ti
0nkery, это я тоже понимаю) я не понимаю что меняется к контейнере из-за этих ключей, что контейнер ждет ввода из stdin на постоянной основе. Я бы понял если бы мы писали docker container start -ti, т.е. давали бы контейнеру указания ждать stdin при каждом запуске, но -ti мы набираем в момент сборки контейнера и это где то прописывается в самом контейнере или настройках docker machine, вот только не понимаю где.
И опять же, можно ли посмотреть как то посмотреть какие из контейнеров собирались с ключами -ti а какие без?)