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 文件中討論了許多特定的配置選項。後續可以參考以下內容:

頁面選項