TGViewer
DevOps DevOps @devopsitsec · 23.7K subscribers
Post #2326 2.9K
Что на самом деле делает `docker run -it` 🐳

Когда контейнеру нужен интерактивный shell, REPL или текстовый редактор, обычно запускают:


docker run -it ...


Но -i и -t делают разные вещи.

- -i (`--interactive`) — оставляет STDIN открытым, чтобы процесс внутри контейнера мог получать ввод с клавиатуры.
- -t (`--tty`) — создаёт pseudo-TTY, поэтому приложение ведёт себя как в обычном терминале.

Вместе они дают полноценную интерактивную сессию:


docker run -it ubuntu bash


Без -i не будет нормального интерактивного ввода.

Без -t приложение может работать, но без привычного терминального поведения: prompt, цветов, управления курсором и нормальной работы vim, top, less и других TTY-программ.

Под капотом схема примерно такая:


Terminal

Docker CLI

pseudo-TTY

bash внутри контейнера


То есть -i отвечает за ввод, а -t — за сам терминал.

Если вы годами пишете docker run -it, но никогда не разбирались, зачем нужны оба флага, у iximiuz есть отличный практический challenge:

https://labs.iximiuz.com/challenges/docker-101-container-run-tty
  • 🔥 12
  • ❤ 2
  • 👍 1
  • 🥰 1
More from @devopsitsec
  1. Sep 20, 2026🐳 Docker-образ с 3,17 ГБ до 354 МБ - почти в 9 раз меньше Такая оптимизация обычно достиг…
  2. Sep 17, 2026⚡️ Поды здоровы, а запросы в Kubernetes случайно отваливаются? Проверьте conntrack. Linux…
  3. Sep 16, 2026✔️ OpenAI на 60% снизила цены на голосовое управление агентами Work и Codex Теперь в дескт…
  4. Sep 16, 2026Что реально стоит за требованиями в вакансиях DevOps-инженера Открываешь вакансию - а там…
  5. Sep 16, 2026🌦 Linecast - погода, карты, радар, приливы, Солнце и Луна прямо в терминале Open-source C…
  6. Sep 16, 2026Гибридная инфраструктура — новая реальность или красивое словосочетание из презентаций? 1…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →