Docker 守护程序配置概述

本页介绍如何自定义 Docker 守护程序 .dockerd

注意

此页面适用于已手动安装 Docker Engine 的用户。如果你是 使用 Docker Desktop,请参阅设置页面

配置 Docker 守护程序

有两种方法可以配置 Docker 守护进程:

  • 使用 JSON 配置文件。这是首选选项,因为它会保留 所有配置都集中在一个位置。
  • 启动时使用标志。dockerd

您可以同时使用这两个选项,只要您不指定相同的选项 选项作为标志和 JSON 文件。如果发生这种情况,Docker 守护程序 不会启动并打印错误消息。

配置文件

下表显示了 Docker 守护程序希望查找的位置 配置文件,具体取决于您的系统和您的 运行守护程序。

操作系统和配置文件位置
Linux,常规设置/etc/docker/daemon.json
Linux,无根模式~/.config/docker/daemon.json
窗户C:\ProgramData\docker\config\daemon.json

对于无根模式,守护进程遵循变量。如果设置,则 预期的文件位置为 .XDG_CONFIG_HOME$XDG_CONFIG_HOME/docker/daemon.json

您还可以显式指定配置文件的位置 startup,使用 flag。dockerd --config-file

dockerd 参考文档中了解可用的配置选项

使用标志进行配置

您还可以手动启动 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 相关的所有内容,包括容器、镜像、卷、服务 定义和秘密。

默认情况下,此目录为:

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

您可以使用配置选项将 Docker 守护程序配置为使用不同的目录。例如:data-root

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

由于 Docker 守护进程的状态保存在此目录中,因此请确保使用 每个守护程序的专用目录。如果两个守护进程共享同一个目录, 例如,对于 NFS 共享,您将遇到难以解决的错误 进行故障排除。

后续步骤

在整个 Docker 中讨论了许多特定的配置选项 文档。接下来要去的地方包括: