Docker:“无法获得标准输出的控制台模式:句柄无效。”

que*_*o42 6 linux console stdout docker docker-compose

docker-compose up在 WSL2 上使用 Docker 桌面在 Windows PowerShell 中运行时,我得到

Creating network "test_default" with the default driver
Building master
failed to get console mode for stdout: The handle is invalid.
Run Code Online (Sandbox Code Playgroud)

有一个提示无法获得 stdout 的控制台模式:句柄无效

问题是,我在构建图像时看不到输出

如果有警告,该怎么办?

我只有非常模糊的想法可能会有所帮助,至少如果是关于缺少标准输出的终端。这只是一个头脑风暴:

  • 安装一个等于“console-setup”的包(例如 gnome-terminal with DEBIAN_FRONTEND=noninteractive apt-get install -y gnome-terminal)。
  • 使用 开启所选命令的终端对话框TERM=$TERM DEBIAN_FRONTEND=dialog apt-get install -y MY_COMMAND。不知何故,我从来没有让它在 Dockerfile 中工作,但也许它在 docker-compose 命令中工作?
  • 避免任何终端对话框DEBIAN_FRONTEND=noninteractive apt-get install -y MY_COMMAND
  • 或者使用-tty参数获取伪终端。