直接删除 daemon.json 即可恢复默认配置,Docker 启动时自动使用内置默认值;Linux 默认路径为 /etc/docker/daemon.json,macOS/Windows 由 Docker Desktop 管理,删除后需 systemctl restart docker 并用 docker info 或 dockerd --dump-config 验证。
直接删除 daemon.json 文件即可恢复默认配置,docker 启动时会自动使用内置默认值,无需手动写入默认内容。
确认当前 daemon.json 位置
Docker 默认读取的配置文件路径是:
-
Linux:
/etc/docker/daemon.json -
macOS(Docker Desktop):不直接使用该文件,配置通过 GUI 或
~/.docker/desktop/daemon.json(仅部分版本存在,通常不应手动修改) -
Windows(Docker Desktop):同样由桌面应用管理,
%ProgramData%\Docker\config\daemon.json是可能路径,但优先以 Docker Desktop 设置为准
安全删除并重启服务
操作前建议先备份原文件(尤其生产环境):
- 备份命令:
sudo cp /etc/docker/daemon.json /etc/docker/daemon.json.bak - 删除命令:
sudo rm /etc/docker/daemon.json - 重载配置:
sudo systemctl daemon-reload - 重启 Docker:
sudo systemctl restart docker
重启后,Docker 将完全使用编译时内置的默认参数,例如默认存储驱动(overlay2)、默认 bridge 网络网段(172.17.0.0/16)、无代理、无镜像仓库配置等。
验证是否已恢复默认
运行以下命令检查当前生效配置:
-
docker info | grep -E "(Storage|Cgroup|Registry|Insecure|Proxy)"—— 观察关键项是否为典型默认值 -
dockerd --dump-config—— 直接输出当前合并后的完整配置(含默认值),无需配置文件也能运行
注意:--dump-config 显示的是最终生效配置,不是原始 daemon.json 内容,它能明确告诉你哪些是默认行为。
什么时候需要“重建”而非删除
极少数情况(如文件损坏导致 dockerd 启动失败且报 JSON 解析错误),可手动创建一个空或最小化合法文件:
- 新建空配置:
echo '{}' | sudo tee /etc/docker/daemon.json - 确保权限正确:
sudo chmod 644 /etc/docker/daemon.json - 再执行 reload + restart
空 JSON 对象 {} 等效于不存在该文件,Docker 仍走默认路径。


















