这个选项到底是做什么的?我一直在读TTY,但我仍然感到困惑.我玩的没有-t和只是-i,似乎期望用户输入的程序抛出错误没有-t.为什么启用伪TTY很重要?
我做了一些谷歌搜索,没有运气找到一个我跑,docker run -i some_image而不是 docker run -it some_image.
如果我运行docker run -i --name sample some_image bash,容器在前台运行,但我无法从我所在的shell中与它进行交互.我甚至无法用CTRL + C来阻止它.但是,我可以弹出另一个shell并运行docker exec -it sample bash并获取对容器的访问权限.
如果我跑docker run -i -d --name sample some_image bash,容器立即退出.我可以重新启动它docker start sample然后它保持运行,所以我可以docker exec -it sample bash再次运行并与之交互.
但是,在所有这些情况下,我最终都会使用-it与容器进行交互.在哪个世界我不需要-t旗帜?
干杯
在阅读不同的书籍,文章和论坛帖子时,我经常看到以下Docker Run命令:
docker run -tid <dockerimage>
Run Code Online (Sandbox Code Playgroud)
我真的不明白:用伪tty(-t)启动一个分离的(-d)Container interactive(-i)是否有意义?
我的意思是一个分离的Container永远不会提示你进入控制台,所以我认为没有必要用-it调用它.