Eu estava fazendo algumas coisas complexas com o docker, mas não sei o que -it
flag significa. Recentemente, descobri um exemplo de docker run
comando que me confundiu um pouco.
docker run -itd ubuntu:xenial /bin/bash
Minha pergunta é qual é o sentido de escrever -it
sinalizador aqui, se o contêiner durante a instanciação executarbin/bash
Na documentação, temos um exemplo
docker run --name test -it debian
com explicação
O -it instrui o Docker a alocar um pseudo-TTY conectado ao stdin do contêiner; criando um shell bash interativo no contêiner.
e explicação para -t sinalizador da página de ajuda
-t, --tty Aloca um pseudo-TTY
se eu deletar -it sinalizador durante
docker run -d ubuntu:xenial /bin/bash
meu contêiner recém-criado não vive muito
no docker ps -a
é designado como encerrado
Desculpe, se minha pergunta é bastante estúpida, não consigo encontrar explicação na Internet (tenho um mal-entendido significativo sobre esse ponto).
/bin/bash
não tiver conteúdo disponível em stdin, ele não terá comandos para executar e nenhuma maneira de avisar o usuário, então ele sai. Este é um comportamento 100% normal e esperado.