docker - "attach to standard streams"在 docker 中是什么意思?

标签 docker stdout

我正在阅读 run 命令的规范并看到以下内容:

-i : Keep STDIN open even if not attached

-a=[] : Attach to STDIN, STDOUT and/or STDERR

You can specify to which of the three standard streams (STDIN, STDOUT, STDERR) you’d like to connect

但我缺乏理解:“将容器连接到标准流”是什么意思? 有人可以解释一下吗? 例如 -i 参数有什么作用?

最佳答案

嗯,STDIN(标准输入)、STDOUT(标准输出)、STDERR(标准错误)是三个标准流。

通常,STDIN 表示键盘,STDOUT 和 STDERR 表示直接屏幕显示。

因此,如果您想通过键盘为容器提供一些输入,则需要将其连接到 STDIN。如果你想让你的容器在屏幕上打印结果,你可能需要将它连接到 STDOUT 和 STDERR。

否则,您的容器可以在后台运行。输入可能来自网络,输出可能存储在日志文件中。

关于docker - "attach to standard streams"在 docker 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44563249/

相关文章:

docker - 如何使用 docker 设置分配给容器的资源?

python - 禁用输出缓冲

c# - 如何在进程运行期间逐行捕获进程 STDOUT 和 STDERR。 (C#)

eclipse - 在 Eclipse 中分离标准输入和标准输出文件

node.js - 如何在 Alpine :3. 8中安装Nodejs v13.0.1?

docker - Nexus 3 Docker容器和备份

php - Docker php5-fpm 服务已退出(代码 0)

Python Pexpect full output is not saved( "--More--"提示如何处理?)

从/dev/urandom 读取的 Bash 脚本

mysql - 使用 docker-compose 按顺序注入(inject) .sql 文件