当我使用 docker-compose up
我可以在我的 docker-compose.yml
文件中看到所有容器的日志。
但是,当我使用 docker-compose run app
我只看到 app
的控制台输出,但没有 app
依赖的服务。如何查看其他服务的日志输出?
原文由 sthomps 发布,翻译遵循 CC BY-SA 4.0 许可协议
当我使用 docker-compose up
我可以在我的 docker-compose.yml
文件中看到所有容器的日志。
但是,当我使用 docker-compose run app
我只看到 app
的控制台输出,但没有 app
依赖的服务。如何查看其他服务的日志输出?
原文由 sthomps 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答2.4k 阅读✓ 已解决
2 回答795 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答1.4k 阅读
1 回答1.6k 阅读
2 回答1.2k 阅读
1 回答958 阅读
在撰写本文时,
docker-compose run
命令没有提供查看其他服务日志的开关,因此您需要使用docker-compose logs
命令查看所需的日志。2022 年 6 月 10 日更新
正如@Sandburg 所说,docker compose 现在已集成到 docker 中。如此处所述 , 大多数 docker compose 命令 都可以以相同的方式 调用,只是 没有破折号:
2019 年 7 月 1 日更新
对于所有服务
使用 文档 中的以下选项:
查看泊坞窗日志
您可以在分离模式下启动 Docker compose,稍后将自己附加到 所有容器 的日志中。如果您已完成查看日志,您可以将自己从日志输出中分离出来, 而无需 关闭您的服务。
docker-compose up -d
以 分离模式启动所有服务(-d
)(在分离模式下您不会看到任何日志)docker-compose logs -f -t
将 自己附加到 所有正在运行的服务 的日志中,而-f
表示您遵循日志输出,而-t
选项为您提供 参考时间戳(参见 Docker )Ctrl + z
或Ctrl + c
将自己与日志输出 分离, 而无需 关闭正在运行的容器如果您对单个容器的日志感兴趣,可以使用
docker
关键字:docker logs -t -f <name-of-service>
保存输出
要将输出保存到文件中,请将以下内容添加到日志命令中:
docker-compose logs -f -t >> myDockerCompose.log