【问题标题】:Docker-compose not show logsDocker-compose 不显示日志
【发布时间】:2021-12-29 04:09:29
【问题描述】:

我正在使用命令 docker-compose up 运行我的 express 和 mongo api,一切都很好,但是当我尝试显示日志时出现下一个输出错误:

【问题讨论】:

  • 这似乎是一个 PNG 文件,而不是错误消息。您能否编辑问题以包含您正在运行的实际命令、您遇到的实际错误以及重现问题所需的应用程序代码?
  • @DavidMaze 请注意,该命令在PNG中清晰可见,它是docker ps,然后是docker-compose logs -f backend_api_1,它们位于他为隐藏无关/私人内容而制作的红线末尾.在 logs 命令下方,可以看到错误。
  • 这是人们对 Docker 和 Docker-compose 的常见混淆点。通常 docker-compose 适用于服务,而不是容器。请参阅@DennisvandeHoef 的回答。请注意命令Usage: logs [options] [SERVICE...] 的手册页该命令需要服务名称,而不是容器名称。
  • 非常感谢,问题是我没有命名它,我使用的是从 docker-compose 输出中获得的那个。

标签: docker docker-compose


【解决方案1】:

这是 docker-compose 编排的一个常见混淆点。 Docker compose 处理服务,然后可以为服务启动一个或多个容器。
您可以通过查看您计划使用的任何命令的手册页来自己澄清这一点,因为它会告诉您它是否需要服务名称或容器名称。

对于docker-compose logs,手册显示:

用法:日志[选项] [服务...]

由于我们没有您的 docker-compose.yaml 可供参考,我们只能推断您可能已将服务命名为 backend_api。我只是重复 Dennis van de Hoef 提供的答案,这是基于 docker 将如何为您命名容器的合理猜测。

docker-compose logs -f backend_api

docker logs 命令可用于查看容器的日志。

docker logs -f backend_api_1

【讨论】:

  • 非常感谢兄弟,我为容器设置了一个名称,一切正常
【解决方案2】:

使用 docker-compose 日志,您需要使用 docker-compose.yaml 中的服务名称,而不是容器名称。

您运行了docker-compose logs -f backend_api_1,这是容器的名称。如果您的 docker-compose 文件不包含任何特殊的重命名,则以下内容应该有效:docker-compose logs -f backend_api(假设该服务称为 backend_api)

【讨论】:

  • 非常感谢兄弟!
猜你喜欢
  • 1970-01-01
  • 2021-07-14
  • 1970-01-01
  • 1970-01-01
  • 2016-05-26
  • 2019-04-24
  • 2017-12-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多