Docker 守护进程配置概述
本页向您展示如何自定义 Docker 守护进程 dockerd。
注意本页适用于手动安装 Docker Engine 的用户。如果您使用的是 Docker Desktop,请参阅设置页面。
配置 Docker 守护进程
有两种方法可以配置 Docker 守护进程
- 使用 JSON 配置文件。这是首选选项,因为它将所有配置都保存在一个地方。
- 在启动
dockerd时使用标志。
您可以同时使用这两个选项,只要您不同时将同一个选项指定为标志和在 JSON 文件中。如果发生这种情况,Docker 守护进程将无法启动并会打印一条错误消息。
配置文件
下表显示了 Docker 守护进程默认期望找到配置文件的位置,具体取决于您的系统以及您运行守护进程的方式。
| 操作系统和配置 | 文件位置 |
|---|---|
| Linux,常规设置 | /etc/docker/daemon.json |
| Linux,无根模式 | ~/.config/docker/daemon.json |
| Windows | C:\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 文档中讨论了许多特定的配置选项。接下来可以去的地方包括