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
。
使用标志进行配置
您还可以手动启动 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 相关的所有内容,包括容器、图像、卷、服务定义和机密。
默认情况下该目录是:
/var/lib/docker
在 Linux 上。C:\ProgramData\docker
在 Windows 上。
您可以使用配置选项将 Docker 守护程序配置为使用不同的目录
data-root
。例如:
{
"data-root": "/mnt/docker-data"
}
由于 Docker 守护进程的状态保存在此目录中,因此请确保为每个守护进程使用专用目录。如果两个守护程序共享同一目录(例如 NFS 共享),您将遇到难以排除故障的错误。
下一步
Docker 文档中讨论了许多特定的配置选项。接下来要go的地方包括: