Docker 日志记录

  • Docker 日志记录

    Docker具有适当的日志记录机制,可用于在问题发生时调试问题。守护程序级别容器级别都有日志记录。我们来看看不同级别的日志记录。

    守护程序记录

    在守护程序日志记录级别,有四个级别的日志记录可用
    • 调试(Debug) - 它详细说明了守护程序进程处理的所有可能信息。
    • 信息(Info) - 它详细说明了守护进程处理的所有错误+信息。
    • 错误(Error) - 它详细说明了守护程序进程处理的所有错误。
    • 致命(Fatal) - 它仅详细说明守护程序进程处理的所有致命错误。
    完成以下步骤以了解如何启用日志记录。
    步骤1 - 首先,我们需要停止docker守护程序进程(如果它已在运行)。可以使用以下命令完成
    sudo service docker stop
    docker log
    第2步 - 现在我们需要启动docker守护进程。但是这一次,我们需要附加-l参数来指定日志记录选项。所以让我们在启动docker守护进程时发出以下命令。
    sudo dockerd -l debug &
    关于上述命令需要注意以下几点
    • dockerd是docker 守护程序进程的可执行文件。
    • -l选项用于指定日志记录级别。在我们的例子中,我们将其作为调试
    • 用于在启用日志记录后返回到命令提示符。
    使用日志记录启动Docker进程后,您现在还将看到正在发送到控制台的调试日志。
    docker log
    现在,如果执行任何Docker命令(如docker images),Debug信息也将发送到控制台。
    重新打开一个终端,执行docker images
    docker log
    切换到刚刚运行守护程序那个终端 可以看到后面加了两条日志记录。
    docker log

    容器日志

    也可以在容器级别进行日志记录。所以在我们的例子中,让我们首先启动一个Ubuntu容器。我们可以使用以下命令来完成它。
    sudo docker run -it ubuntu /bin/bash
    docker log
    现在,我们可以使用docker log命令查看容器的日志。
    语法:
    Docker logs containerID
    参数:
    • containerID - 这是您需要查看日志的容器的ID。
    例子:
    在我们的Docker主机上,让我们发出以下命令。在此之前,您可以在容器中执行一些命令。
    sudo docker logs 847fc6fbc436
    docker log
    从输出中,您可以看到容器中执行的命令显示在日志中。