docker-compose 失败时如何查看错误日志

Jan*_*nka 4 error-handling docker-compose

我有一个启动 entrypoint.sh 脚本的 docker 镜像

此脚本检查项目是否配置良好

如果一切正确,容器将启动,否则我收到此错误:

echo "Danger! bla bla bla"
exit 1000
Run Code Online (Sandbox Code Playgroud)

现在,如果我以这种模式启动容器:

docker-compose up
Run Code Online (Sandbox Code Playgroud)

我正确地看到错误:

Danger! bla bla bla
Run Code Online (Sandbox Code Playgroud)

但我需要以守护进程模式启动容器:

docker-compose up -d
Run Code Online (Sandbox Code Playgroud)

如何仅在出错时显示日志?

Yan*_*ann 6

中的-d标志docker-compose up -d代表分离模式而不是守护模式。

分离模式下,您的服务(例如容器)在终端的后台运行。在这种模式下您看不到日志。

要查看所有服务日志,您需要运行以下命令:

docker-compose logs -f
Run Code Online (Sandbox Code Playgroud)

-f标志代表“跟随日志输出”。这将输出您的每个正在运行的服务的所有日志docker-compose.yml

据我了解,您希望使用以下方式启动您的服务:

docker-compose up -d
Run Code Online (Sandbox Code Playgroud)

为了让服务在后台运行并有一个干净的控制台输出。

并且您只想打印日志中的错误,为此添加管道运算符并使用 grep 命令搜索错误:

docker-compose logs | grep error
Run Code Online (Sandbox Code Playgroud)

这将输出 docker 服务记录的所有错误。

你会发现相关的正式文件docker-compose up命令在这里和在logs命令在这里本文中有关日志处理的更多信息。相关答案在这里