Robiłem trochę skomplikowanych rzeczy z dockerem, ale okazuje się, że nie wiem, co -it
oznacza flaga. Ostatnio natknąłem się na przykład docker run
polecenia, który trochę mnie zdezorientował.
docker run -itd ubuntu:xenial /bin/bash
Moje pytanie brzmi, jaki sens ma pisać -it
tutaj flagę, jeśli kontener jest uruchamiany podczas uruchamiania instancjibin/bash
W dokumentacji mamy przykład
docker run --name test -it debian
z wyjaśnieniem
-It instruuje Docker, aby przydzielił pseudo-TTY podłączony do standardowego wejścia kontenera; tworzenie interaktywnej powłoki bash w kontenerze.
i wyjaśnienie flagi -t ze strony pomocy
-t, --tty Przydziela pseudo-TTY
jeśli usunę flagę -it podczas
docker run -d ubuntu:xenial /bin/bash
mój nowo utworzony kontener nie żyje tak bardzo
w docker ps -a
jest oznaczony jako opuszczony
Przepraszam, jeśli moje pytanie jest dość głupie, nie mogę znaleźć wyjaśnienia w Internecie (mam istotne nieporozumienie w tej kwestii).
/bin/bash
nie ma zawartości dostępnej na stdin, nie ma poleceń do uruchomienia ani możliwości monitowania użytkownika, więc kończy działanie. Jest to w 100% normalne i oczekiwane zachowanie.