【问题标题】:specify interactive explicitly in docker run在 docker run 中明确指定交互
【发布时间】:2020-06-10 07:32:05
【问题描述】:

This post 很好地解释了分离 (-d) 和交互式 (-i) 之间的区别。答案是:

-i(交互式)是关于是否保持标准输入打开(某些程序,如 bash,使用标准输入而其他程序不使用)。 -d(分离)是关于 docker run 命令是否等待正在运行的进程 出口。因此,它们是正交的,而不是天生矛盾的。一个 像bash这样的程序在标准输入关闭时退出,所以没有-i,它会退出 马上。

假设我有一些不需要打开 STDIN 的命令。那么使用-it和不使用-it有什么区别呢?有什么区别吗?在以下两个命令中?

docker run ubuntu tail -f /etc/passwd
docker run -it ubuntu tail -f /etc/passwd

【问题讨论】:

    标签: docker


    【解决方案1】:

    参考 docker run 命令文档

    --interactive , -i  : Keep STDIN open even if not attached
    
    --tty , -t          : Allocate a pseudo-TTY
    

    我认为在您的情况下使用 -it 执行与否之间的唯一区别是它将以交互方式并通过伪 TTY 运行 Docker

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多