Docker 是一种流行的应用程序容器化平台,能够加快应用程序的构建部署和管理速度。然而,在使用 Docker 运行应用程序时,我们可能会遇到一些意外问题,这就需要查看 Docker 启动日志以了解问题的根本原因。那么,怎么查看 Docker 启动日志呢?
Docker 提供了一个内置的命令 docker logs,可以用于查看容器内的标准输出和标准错误输出。要使用该命令,可以先查看正在运行的容器的 ID 或者名称,通过 docker ps 命令可以查看:
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8623f22d0b74 nginx "nginx -g 'daemon of…" 10 days ago Up 2 hours 80/tcp web
在上面的输出中,容器 ID 为 8623f22d0b74,容器名称为 web。可以使用 docker logs 命令查看容器内的日志输出:
$ docker logs 8623f22d0b74 172.17.0.1 - - [02/May/2020:19:41:04 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36" "-" 172.17.0.1 - - [02/May/2020:19:41:06 +0000] "GET /favicon.ico HTTP/1.1" 404 555 "http://localhost/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36" "-"
在上面的输出中,我们可以看到 NGINX 服务器的访问日志,这个命令可以简单地帮助我们找到容器的启动问题。
除了使用 docker logs 命令,我们还可以使用 docker events 命令来查看 Docker 启动事件。这个命令可以观察 Docker 发出的所有事件,并输出相应的信息。例如,我们可以使用以下命令查看 Docker 运行的所有事件:
$ docker events ... 2020-05-02T19:44:07.842095081+00:00 container destroy 8623f22d0b746eee40b1568a78ffdf2f1555a9c5b557d8c5a5a5eaa32c7f1ede (image=nginx, name=web) 2020-05-02T19:44:08.273816081+00:00 network disconnect 6cbedee6e77d 03ac9adf39af42c8d651f0ed60073c92837e866aebb0c75bfcb3f3c9a701bcb7 (endpoint=03ac9adf39af42c8d651f0ed60073c92837e866aebb0c75bfcb3f3c9a701bcb7, name=bridge, type=bridge) 2020-05-02T19:44:09.260029423+00:00 network destroy 6cbedee6e77d (name=bridge)
在上面的输出中,我们可以看到容器的销毁事件、网络的断开事件以及网络的销毁事件。这个命令可以帮助我们了解 Docker 容器的其他事件。
Docker 容器的所有日志都会存储在容器的文件系统中。因此,我们可以使用常规的文件查看工具比如 cat、tail 或 grep 来查看它们。例如,如果要查看容器的系统日志,可以使用以下命令:
$ docker inspect --format='{{.LogPath}}' 8623f22d0b74 /var/lib/docker/containers/8623f22d0b74cea5f8d76432734ec06c19683d698583cc59dd8f4af4bb70ac10/8623f22d0b74cea5f8d76432734ec06c19683d698583cc59dd8f4af4bb70ac10-json.log
这条命令将输出容器的日志文件路径。我们可以继续使用 tail 命令来查看日志文件的后几行:
$ docker inspect --format='{{.LogPath}}' 8623f22d0b74 | xargs tail -f ...
在上面的输出中,我们可以看到容器的实时日志输出。可以使用 Ctrl-C 快捷键来停止查看日志。
总结
Docker 的日志管理是一个复杂的过程,但是通过使用 Docker 提供的内置命令,我们可以轻松地查看容器内发生的问题。通过使用 docker logs 命令、docker events 命令或者查看容器日志文件,我们可以及时了解 Docker 容器的正在运行的情况,为部署和管理 Docker 应用程序提供有力的支持。
以上是怎么查看docker启动日志的详细内容。更多信息请关注PHP中文网其他相关文章!