Estaba haciendo cosas complejas con Docker, pero resultó que no sé qué -it
significa bandera. Recientemente me encontré con algún ejemplo de docker run
comando que me ha confundido un poco.
docker run -itd ubuntu:xenial /bin/bash
Mi pregunta es qué sentido tiene escribir la -it
bandera aquí, si el contenedor durante la ejecución de la instanciaciónbin/bash
En documentación tenemos un ejemplo
docker run --name test -it debian
con explicacion
El -it indica a Docker que asigne un pseudo-TTY conectado al stdin del contenedor; creando un shell bash interactivo en el contenedor.
y explicación para el indicador -t de la página de ayuda
-t, --tty Asignar un pseudo-TTY
si borro -it bandera durante
docker run -d ubuntu:xenial /bin/bash
mi contenedor recién creado no vive tanto
en docker ps -a
está designado como salido
Lo siento, si mi pregunta es bastante estúpida, no puedo encontrar una explicación en Internet (tengo un malentendido significativo de ese punto).
/bin/bash
no tiene contenido disponible en stdin, no tiene comandos para ejecutar y no hay forma de avisar al usuario, por lo que sale. Este es un comportamiento 100% normal y esperado.