LogDriver 協定記錄外掛程式必須在plugin啟動期間註冊為 `LogDriver`。 啟動後,使用者可以將外掛程式指定為日誌驅動程式。
記錄外掛程式必須實作兩個 HTTP 端點
向外掛程式發出訊號,指示容器正在啟動,外掛程式應開始接收日誌。
日誌將透過請求中定義的檔案進行串流。 在 Linux 上,此檔案是 FIFO。 Windows 目前不支援記錄外掛程式。
請求
`File` 是需要使用的日誌串流的路徑。 每次呼叫 `StartLogging` 都應提供不同的檔案路徑,即使它是外掛程式先前已收到日誌的容器也是如此。 該檔案是由 Docker 使用隨機產生的名稱建立的。
`Info` 是正在記錄的容器的詳細資訊。 這是相當自由的形式,但由以下結構定義定義
此結構將始終提供 `ContainerID`,但其他欄位可能為空或遺失。
回應
如果在此請求期間發生錯誤,請在回應的 `Err` 欄位中新增錯誤訊息。 如果沒有錯誤,您可以傳送空回應 (`{}`) 或 `Err` 欄位的空值。
此時驅動程式應使用傳入檔案中的日誌訊息。 如果訊息未被使用,則可能會導致容器在嘗試寫入其 stdio 串流時阻塞。
日誌串流訊息編碼為 protocol buffer。 protobuf 定義位於moby 儲存庫