【问题标题】:No live output from containers running on Docker Desktop with WSL2使用 WSL2 在 Docker Desktop 上运行的容器没有实时输出
【发布时间】:2021-08-08 22:37:50
【问题描述】:

我正在开发一个在 docker 容器(django、celery、postgres、redist...等)中运行的 python-django 应用程序。它在带有 WSL2-Debian 和 Docker 桌面的 Windows 10 上运行。

在我的工作中,我需要观察所有这些容器的控制台,这样我就可以监控应用程序的行为,比如当你运行 docker-compose up 时,你就可以让它们全部上线。

当您在窗口化的 Docker 桌面应用程序中单击容器时,您可以看到容器的控制台输出,但不是实际的 - 它看起来直到某个时间点才有效,并且控制台输出没有更新。 我记得它在两到三个 Docker Desktop 更新之前就开始工作了,我确信它是实时的,但不是现在。

我是否更改了设置或 Docker Desktop 被窃听?

附言。当我使用 docker-compose up(不带 -d)启动容器时,我可以在我的 shell 控制台上观察实时日志,但在 Docker Desktop 中却看不到了。

任何帮助如何恢复 Docker 桌面实时控制台视图?

【问题讨论】:

  • GitHub 上有一个关于此的问题。这一定是一个实际的错误:github.com/docker/for-win/issues/11251
  • 我确认降级到 Docker Desktop v3.3.1 解决了这个问题。
  • 有一个 Docker Desktop 快照可供您测试问题是否已解决;见my edited answer below
  • Docker Desktop 3.6.0 应该可以解决这个问题。

标签: docker docker-compose console desktop live


【解决方案1】:

Docker Desktop 3.4(昨天 6 月 9 日发布)应该已经解决了 docker/for-win issue 11251

升级后我看不到错误(使用普通的docker-compose,而不是测试版docker-compose v2)。

但是,正如 the OP twkissue 11251 所评论的:

实时日志以某种方式损坏 - 在每个新行之后添加额外的换行符,但历史日志条目(例如,当您切换到/从另一个容器时)显示条目之间没有换行符(这没关系)。


Update June 29th 来自Mathieu Champlon

抱歉,花了一些时间,但我们现在有一个内部版本可以修复它,如果您想尝试一下:
win/stable/amd64/66242/Docker Desktop Installer.exe


2021 年 8 月更新:Issue 11251 just closed

Docker Desktop 3.6.0 已发布,其中包含对此问题的修复。

【讨论】:

  • 还有一个小问题:实时日志用换行符分隔,但一般都可以。
  • @twk 感谢您的反馈。我已将您的评论包含在答案中以提高知名度。
【解决方案2】:

这是 Docker Desktop v3.3.3 中的一个错误

GitHub 问题:@Drarig29 指出的https://github.com/docker/for-win/issues/11251

【讨论】:

  • 实际上,它在 Docker Desktop v3.3.2 中也不起作用。
猜你喜欢
  • 2020-11-12
  • 1970-01-01
  • 2019-10-02
  • 1970-01-01
  • 1970-01-01
  • 2021-08-01
  • 1970-01-01
  • 2020-10-07
  • 1970-01-01
相关资源
最近更新 更多