Google Cloud Logging 驅動程式

Google Cloud Logging 驅動程式會將容器記錄傳送到 Google Cloud Logging用法

若要使用 gcplogs 驅動程式作為預設記錄驅動程式,請在 daemon.json 檔案中將 log-driverlog-opt 鍵設定為適當的值,該檔案位於 Linux 主機上的 /etc/docker/ 或 Windows Server 上的 C:\ProgramData\docker\config\daemon.json。有關使用 daemon.json 設定 Docker 的詳細資訊,請參閱 daemon.json

以下範例將記錄驅動程式設定為 gcplogs 並設定 gcp-meta-name 選項。

{
  "log-driver": "gcplogs",
  "log-opts": {
    "gcp-meta-name": "example-instance-12345"
  }
}

重新啟動 Docker 以使變更生效。

您可以使用 docker run--log-driver 選項為特定容器設定記錄驅動程式

$ docker run --log-driver=gcplogs ...

如果 Docker 偵測到它正在 Google Cloud Project 中運行,它會從 執行個體中繼資料服務Google 應用程式預設憑證gcplogs 選項

您可以使用 --log-opt NAME=VALUE 旗標來指定這些額外的 Google Cloud Logging 驅動程式選項

選項必要說明
gcp-project選用要記錄到的 Google Cloud 專案。預設值為從 Google Cloud 中繼資料伺服器探索此值。
gcp-log-cmd選用是否記錄啟動容器的指令。預設值為 false。
標籤選用以逗號分隔的標籤鍵清單,如果容器指定了這些標籤,則應包含在訊息中。
labels-regex選用類似於且相容於 `labels`。用於匹配記錄相關標籤的正規表達式。用於進階 記錄標籤選項
環境變數選用以逗號分隔的環境變數鍵清單,如果容器指定了這些變數,則應包含在訊息中。
env-regex選用類似於且相容於 `env`。用於匹配記錄相關環境變數的正規表達式。用於進階 記錄標籤選項
gcp-meta-zone選用執行個體的區域名稱。
gcp-meta-name選用執行個體名稱。
gcp-meta-id選用執行個體 ID。

如果 `label` 和 `env` 鍵發生衝突,則 `env` 的值優先。這兩個選項都會將額外的欄位新增到記錄訊息的屬性中。

以下是記錄到透過查詢 Google Cloud 中繼資料伺服器探索的預設記錄目標所需的記錄選項範例。

此設定還會指示驅動程式在有效負載中包含標籤 `location`、環境變數 `ENV` 以及用於啟動容器的指令。

以下範例顯示在 Google Cloud 外部執行的記錄選項。必須為 Daemon 設定 `GOOGLE_APPLICATION_CREDENTIALS` 環境變數,例如透過 systemd