首頁  >  文章  >  運維  >  怎麼查看docker啟動日誌

怎麼查看docker啟動日誌

PHPz
PHPz原創
2023-04-18 14:06:415766瀏覽

Docker 是一種流行的應用程式容器化平台,能夠加快應用程式的建置部署和管理速度。然而,在使用 Docker 運行應用程式時,我們可能會遇到一些意外問題,這需要查看 Docker 啟動日誌以了解問題的根本原因。那麼,要怎麼查看 Docker 啟動日誌呢?

  1. 使用 docker logs 指令

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 伺服器的存取日誌,這個指令可以簡單地幫助我們找到容器的啟動問題。

  1. 使用 docker events 指令

除了使用 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 容器的其他事件。

  1. 查看 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn