Docker 守護程序配置概述

本頁向您展示如何自定義 Docker 守護程序 dockerd

注意

本頁適用於手動安裝 Docker Engine 的使用者。如果您使用的是 Docker Desktop,請參閱設定頁面

配置 Docker 守護程序

有兩種方法可以配置 Docker 守護程序

  • 使用 JSON 配置檔案。這是首選選項,因為它將所有配置都儲存在一個地方。
  • 在啟動 dockerd 時使用標誌。

您可以同時使用這兩個選項,只要您不同時將同一個選項指定為標誌和在 JSON 檔案中。如果發生這種情況,Docker 守護程序將無法啟動並會列印一條錯誤訊息。

配置檔案

下表顯示了 Docker 守護程序預設期望找到配置檔案的位置,具體取決於您的系統以及您執行守護程序的方式。

作業系統和配置檔案位置
Linux,常規設定/etc/docker/daemon.json
Linux,無根模式~/.config/docker/daemon.json
WindowsC:\ProgramData\docker\config\daemon.json

對於無根模式,守護程序會遵循 XDG_CONFIG_HOME 變數。如果設定了該變數,則期望的檔案位置是 $XDG_CONFIG_HOME/docker/daemon.json

您還可以在啟動時使用 dockerd --config-file 標誌明確指定配置檔案的位置。

dockerd 參考文件中瞭解可用的配置選項。

使用標誌進行配置

您也可以手動啟動 Docker 守護程序並使用標誌對其進行配置。這對於解決問題很有用。

以下是如何手動啟動 Docker 守護程序的示例,使用了與之前 JSON 配置中所示相同的配置

$ dockerd --debug \
  --tls=true \
  --tlscert=/var/docker/server.pem \
  --tlskey=/var/docker/serverkey.pem \
  --host tcp://192.168.59.3:2376

dockerd 參考文件中或透過執行以下命令瞭解可用的配置選項

$ dockerd --help

守護程序資料目錄

Docker 守護程序將所有資料持久化到一個目錄中。這會跟蹤與 Docker 相關的所有內容,包括容器、映象、卷、服務定義和金鑰。

預設情況下,此目錄是

  • 在 Linux 上是 /var/lib/docker
  • 在 Windows 上是 C:\ProgramData\docker

您可以使用 data-root 配置選項將 Docker 守護程序配置為使用不同的目錄。例如

{
  "data-root": "/mnt/docker-data"
}

由於 Docker 守護程序的狀態儲存在此目錄中,請確保為每個守護程序使用專用目錄。如果兩個守護程序共享同一個目錄,例如 NFS 共享,您將遇到難以排查的錯誤。

後續步驟

Docker 文件中討論了許多特定的配置選項。接下來可以去的地方包括