Docker守护进程配置概述
本页面向您展示如何自定义Docker守护进程,dockerd。
注意
本页面适用于手动安装Docker Engine的用户。如果您使用的是Docker Desktop,请参考设置页面。
配置 Docker 守护进程
有两种方式可以配置Docker守护进程:
- 使用JSON配置文件。这是首选选项,因为它将所有配置保存在一个地方。
- 启动
dockerd时使用标志。
只要您不将相同的选项同时指定为标志和JSON文件中的内容,您可以同时使用这两个选项。如果发生这种情况,Docker守护程序将不会启动并打印错误消息。
配置文件
下表显示了Docker守护进程默认期望找到配置文件的位置,这取决于您的系统以及您如何运行守护进程。
| OS and configuration | File location |
|---|---|
| Linux, regular setup | /etc/docker/daemon.json |
| Linux, rootless mode | ~/.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相关的所有内容,包括容器、镜像、卷、服务定义和密钥。
默认情况下,此目录为:
/var/lib/docker在Linux上。C:\ProgramData\docker在 Windows 上。
你可以配置Docker守护进程使用不同的目录,通过使用data-root配置选项。例如:
{
"data-root": "/mnt/docker-data"
}由于Docker守护进程的状态保存在此目录中,请确保为每个守护进程使用专用目录。如果两个守护进程共享同一目录,例如NFS共享,您将遇到难以排查的错误。
下一步
许多具体的配置选项在 Docker 文档中都有讨论。接下来可以查看的地方包括: