【问题标题】:How to see error logs when docker-compose failsdocker-compose 失败时如何查看错误日志
【发布时间】:2022-05-05 19:14:27
【问题描述】:
我有一个启动 entrypoint.sh 脚本的 docker 映像
此脚本检查项目是否配置正确
如果一切正确,
容器启动
否则我收到此错误:
echo "Danger! bla bla bla"
exit 1000
现在如果我以这种模式启动容器:
docker-compose up
我正确地看到了错误:
Danger! bla bla bla
但我需要以守护程序模式启动容器:
docker-compose up -d
如何仅在出现错误时显示日志?
【问题讨论】:
标签:
error-handling
docker-compose
【解决方案1】:
docker-compose up -d 中的 -d 标志代表 分离模式 而不是守护程序模式。
在分离模式中,您的服务(例如容器)在您的终端后台运行。 在此模式下您看不到日志。
要查看所有服务日志,您需要运行以下命令:
docker-compose logs -f
-f 标志代表“关注日志输出”。
这将输出您在docker-compose.yml中拥有的每个正在运行的服务的所有日志
据我了解,您希望通过以下方式启动您的服务:
docker-compose up -d
为了让服务在后台运行并获得干净的控制台输出。
如果您只想打印日志中的错误,请添加一个管道运算符并使用 grep 命令搜索错误:
docker-compose logs | grep error
这将输出 docker 服务记录的所有错误。
您将找到与docker-compose up 命令here 和logs 命令here 相关的官方文档。有关此article 中的日志处理的更多信息。
相关答案here。