Docker 的 daemon.json
1. 介绍
daemon.json 文件是 Docker 守护进程(daemon)的核心配置入口,通过它可定制、优化 Docker 的运行环境。
只要涉及到 Docker 后台行为的调整,应优先考虑编辑
daemon.json文件,而不是命令行参数。
2. 作用
在 daemon.json 这个 JSON 文件中,可配置如下内容:
- 镜像加速 (
registry-mirrors) - 数据目录 (
data-root) - 日志驱动与参数 (
log-driver,log-opts) - 网络配置 (
default-address-pools,bip,fixed-cidr等) - 存储驱动选择 (
storage-driver等) - 安全相关参数 (如
live-restore,tls等) - API 端口绑定、监听地址等
3. 实际使用
3.1 编辑文件
切换为 root 用户后,使用 vim 编辑 /etc/docker/daemon.json:
bash
sudo vim /etc/docker/daemon.json
真实配置内容如下:
json
{
"registry-mirrors": [
"https://docker.1ms.run",
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn"
],
"data-root": "/data/docker",
"default-address-pools": [
{
"base": "170.30.0.0/16",
"size": 24
}
]
}
配置说明:
- 镜像源 :通过
registry-mirrors配置多个国内加速地址,提高 Docker 拉取镜像的速度,避免下载缓慢。 - 数据存储 :
data-root用于指定 Docker 所有数据(镜像、容器、卷)的存储根路径,可自定义磁盘位置,灵活扩容。 - 网络段 :
default-address-pools指定 Docker 创建新网络时使用的网段和子网大小,方便与实际网络环境隔离,避免 IP 冲突。
3.2 重启 Docker 服务,让最新配置生效
bash
# 重新加载 systemd 配置感知到变化
sudo systemctl daemon-reload
# 重启 docker 服务让新配置生效
sudo systemctl restart docker
小结
daemon.json 是 Docker 后台行为定制的首选配置点,可以满足从性能优化、存储扩展到网络自定义等多种实际场景。建议运维和开发人员熟悉并合理使用该文件,实现高效稳定的容器管理。