docker配置文件/etc/docker/daemon.json里的各种参数说明:
Docker 守护进程的配置文件 /etc/docker/daemon.json
的内容,它定义了 Docker 的各种运行时特性、镜像加速器、运行时、数据根目录、实时恢复、执行选项、日志驱动和日志选项。下面是每个部分的详细解释:
- features:这是一个特性开关,用于启用或禁用 Docker 的某些实验性或新特性。
buildkit
:启用 BuildKit 构建器,这是一个用于构建 Docker 镜像的新工具链,提供了更高级的构建功能和更好的性能。containerd-snapshotter
:启用 containerd 的快照器功能,这允许 containerd 使用更高效的存储和快照技术。
- registry-mirrors:这是一个数组,包含了 Docker 镜像加速器的 URL。这些加速器可以提高从 Docker Hub 下载镜像的速度,特别是在中国大陆地区。这里列出了两个加速器的 URL。
- runtimes:这是一个对象,定义了 Docker 可以使用的运行时。在这个例子中,定义了一个名为 "nvidia" 的运行时,它使用 "nvidia-container-runtime" 作为运行时路径。
- data-root:这是 Docker 数据的根目录。Docker 将所有数据存储在这个目录下,包括镜像、容器、卷等。
- live-restore:这是一个布尔值,表示当 Docker 守护进程意外终止时,是否应该尝试恢复正在运行的容器。
- exec-opts:这是一个数组,包含了 Docker 执行选项。这里的选项指定了 cgroup 驱动为 "systemd",这意味着 Docker 将使用 systemd 的 cgroup 驱动。
- log-driver:这是 Docker 日志的驱动程序。在这个例子中,使用的是 "json-file" 驱动,它将日志以 JSON 格式存储在文件中。
- log-opts:这是一个对象,包含了 Docker 日志的选项。这里的选项设置了日志文件的最大大小为 200MB。
示例:
{
"features": {
"buildkit": true,
"containerd-snapshotter": true
},
"registry-mirrors": [
"https://docker.1ms.run",
"https://docker.xuanyuan.me"
],
"runtimes": {
"nvidia": {
"args": [],
"path": "nvidia-container-runtime"
}
},
"data-root": "/data/docker_data",
"live-restore": true,
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "200m"
}
}