Docker在运行容器时总是附加本地STDIN流

Docker在运行容器时总是附加本地STDIN流,docker,Docker,docker-container-run和docker-container-exec命令具有标志--attach,用于选择要将终端仿真器的哪些标准流附加到容器中运行的进程的标准流。 但是,当我运行docker container run--interactive--attach stdout--name testubuntu ubuntu:bionic时,我明确指定使用标志--attach,我只希望终端仿真器的stdout流附加到容器中启动的主进程的stdout流(这个容器的Bash shell

docker-container-run
docker-container-exec
命令具有标志
--attach
,用于选择要将终端仿真器的哪些标准流附加到容器中运行的进程的标准流。 但是,当我运行
docker container run--interactive--attach stdout--name testubuntu ubuntu:bionic
时,我明确指定使用标志--attach,我只希望终端仿真器的stdout流附加到容器中启动的主进程的stdout流(这个容器的Bash shell),终端仿真器的STDIN流仍然连接到容器(Bash)中运行的进程的STDIN流

有人能解释为什么会这样吗?如果我删除
--interactive
标志,则STDIN流不会附加到容器内运行的进程的STDIN流,但是,据我所知,该标志只是为容器内运行的进程的STDIN流创建一个内存缓冲区(在我的示例中为Bash),这使得Bash从缓冲区读取数据,而不是直接从主机连接的STDIN读取数据

有人能解释一下,如果--interactive标志除了保持STDIN数据流打开之外,还将本地STDIN流附加到容器中运行的进程之一吗