docker的daemon配置文件
docker 的 daemon 配置文件
配置文件路径
不同操作系统中的默认存储位置如下:
- Linux:
/etc/docker/daemon.json - Windows:
C:\ProgramData\Docker\config\daemon.json
常用配置项详解 (2025 版)
以下是一个涵盖 2025 年常用生产环境优化的配置示例:
{
"registry-mirrors": [
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou"
],
"data-root": "/var/lib/docker",
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
},
"insecure-registries": [],
"live-restore": true,
"storage-driver": "overlay2"
}请谨慎使用此类代码。
- registry-mirrors: 镜像加速器列表,用于解决国内拉取镜像慢的问题。
- data-root: Docker 运行时根路径。若系统盘空间不足,可修改此项将镜像和容器数据迁移至挂载的磁盘。
- log-driver & log-opts: 配置日志记录方式。限制日志文件大小(如
100m)和数量(如3)可防止容器日志撑爆磁盘。 - live-restore: 设置为
true后,即使 Docker 守护进程重启,正在运行的容器也不会停止,实现高可用。 - insecure-registries: 允许通过 HTTP 访问的私有镜像仓库。
生效方法
修改配置文件后,必须重新加载配置并重启服务才能生效:
# Linux 命令行操作
sudo systemctl daemon-reload
sudo systemctl restart docker请谨慎使用此类代码。
注意事项
- JSON 格式: 该文件必须严格遵守 JSON 语法(如:不能有注释,属性名和字符串必须使用双引号,除最后一项外每行末尾需加逗号)。
- 权限: 在 Linux 上编辑该文件通常需要
root或sudo权限。 - 冲突风险: 如果在启动脚本(如 systemd 单元文件)中定义了与
daemon.json相同的参数,会导致 Docker 无法启动。