Log Rotation

    版本為 23:51, 26 Dec 2024

    到這個版本。

    返回到 版本存檔.

    查閱目前版本

    說明

    要管理 Docker 的 Log 前必須先調整每個 container 各自的 Log 導出為 stdout 與 stderr 格式,這樣才能由 Docker 統一管理/顯示所有 container 的 Log 訊息。

    調整 Container 的 Log

    以 Nginx 為例,必須將預設的 Log 檔路徑導出為 stdout 與 stderr 如下述 Dockerfile 範例

    ...
    RUN \
        # Forward request and error logs to docker log collector
        && ln -sf /dev/stdout /var/log/nginx/access.log \
        && ln -sf /dev/stderr /var/log/nginx/error.log
    ...
    

    以 Mariadb 為例,新增資料庫設定檔 /etc/mysq/mariadb.conf.d/db-log.cnf

    [mysqld]
     log_error = /dev/stdout
    

     

    檢視 Containers Log

    不用進入 container 系統也能直接檢視任一個 container(或 service) 的 Log。

    # docker logs --tail 50 <container-name>
    # docker-compose logs --tail 50 <service-name>
    

     

    Powered by MindTouch Core