Docker 配置文件 daemon.json 怎么写

秋雪吖_5101

秋雪吖_5101

2026-09-02

758人浏览

原创

daemon.json 是 docker 守护进程的全局 json 配置文件,位于 linux 的 /etc/docker/daemon.json,用于配置镜像加速、日志限制、dns、data-root、存储驱动、网络网段(bip)、代理(proxies)等;修改后需验证 json 格式并执行 systemctl restart docker 生效。

docker 配置文件 daemon.json 怎么写

daemon.json 是 Docker 守护进程的配置文件,用于全局控制 Docker 的行为,比如镜像仓库地址、日志驱动、默认网络设置等。它不是启动时通过命令行传参,而是由 Docker 守护进程在启动时自动读取的 JSON 格式文件。

文件位置和基础结构

Linux 系统默认路径是 /etc/docker/daemon.json;Windows(Docker Desktop)不直接使用该文件,macOS 同理;只有 Linux 服务器或自建 Docker 环境才需要手动创建和编辑它。

文件必须是合法的 JSON 格式,不能有注释,键名区分大小写,建议用双引号包裹所有字符串,结尾不加逗号。

最简可用内容:

Json Schema Toolkit
Json Schema Toolkit

使用 JSON Schema 验证 JSON 数据,从示例 JSON 生成 schema,并将其转换为 TypeScript 接口、Python 数据类或 Markdown 文档。

下载
{ "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" } }

常用配置项说明

以下是一些高频、实用的配置项,按功能归类:

  • 镜像加速与私有仓库:加快拉取速度或指向内部 registry
    "registry-mirrors": ["https://mirror.gcr.io", "https://docker.mirrors.ustc.edu.cn"],
    "insecure-registries": ["192.168.1.100:5000"]
  • 存储驱动与数据目录:更换存储后端(如 overlay2 是默认推荐),或迁移镜像/容器数据
    "storage-driver": "overlay2",
    "data-root": "/data/docker"
  • 网络配置:自定义默认 bridge 网络网段,避免与内网冲突
    "default-address-pools": [
    {"base": "172.30.0.0/16", "size": 24}
    ]
  • 守护进程绑定方式:开放 TCP 接口(慎用,需配合防火墙或 TLS)
    "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2376"]

修改后生效方式

改完 daemon.json 不会自动生效,必须重载或重启 Docker 守护进程:

  • 先验证语法是否正确:sudo dockerd --validate(无输出即为 OK)
  • 重载配置(推荐,不中断运行中的容器):sudo systemctl reload docker
  • 或重启服务:sudo systemctl restart docker
  • 检查是否生效:docker info | grep -E "(Registry|Root Dir|Logging Driver)"

注意事项和避坑点

容易出错的地方:

  • JSON 格式错误(多逗号、单引号、中文标点)会导致 Docker 启动失败,systemctl status docker 可查报错
  • 修改 data-root 前,确保目标目录存在且 Docker 有读写权限,否则启动失败
  • insecure-registries 仅对 HTTP 仓库有效,HTTPS 仓库无需添加;但若证书不被信任,还需额外配置 certs.d
  • 不要随意改动 storage-driver,除非明确知道当前驱动不适用,且已备份数据

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

docker js json 配置文件 daemon

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

2023.06.20

3896

8

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.28

1235

5

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.03

1578

5

js是什么意思
js是什么意思

JS是JavaScript的缩写,它是一种广泛应用于网页开发的脚本语言。JavaScript是一种解释性的、基于对象和事件驱动的编程语言,通常用于为网页增加交互性和动态性。它可以在网页上实现复杂的功能和效果,如表单验证、页面元素操作、动画效果、数据交互等。

2023.08.17

9383

11

js删除节点的方法
js删除节点的方法

js删除节点的方法有:1、removeChild()方法,用于从父节点中移除指定的子节点,它需要两个参数,第一个参数是要删除的子节点,第二个参数是父节点;2、parentNode.removeChild()方法,可以直接通过父节点调用来删除子节点;3、remove()方法,可以直接删除节点,而无需指定父节点;4、innerHTML属性,用于删除节点的内容。

2023.09.01

880

4

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.04

2344

5

Js中concat和push的区别
Js中concat和push的区别

Js中concat和push的区别:1、concat用于将两个或多个数组合并成一个新数组,并返回这个新数组,而push用于向数组的末尾添加一个或多个元素,并返回修改后的数组的新长度;2、concat不会修改原始数组,是创建新的数组,而push会修改原数组,将新元素添加到原数组的末尾等等。本专题为大家提供concat和push相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.14

1449

5

js截取字符串的方法介绍
js截取字符串的方法介绍

JavaScript字符串截取方法,包括substring、slice、substr、charAt和split方法。这些方法可以根据具体需求,灵活地截取字符串的不同部分。在实际开发中,根据具体情况选择合适的方法进行字符串截取,能够提高代码的效率和可读性 。

2023.09.21

3929

3

js生成随机数方法
js生成随机数方法

JavaScript生成随机数的方法,包括使用Math.random()方法生成指定范围内的随机整数、生成随机字符串和生成随机颜色。根据具体需求,可以选择适合的方法来生成随机数,以实现各种功能 。

2023.09.25

2215

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

Docker 官方文档
Docker 官方文档

共0课时 | 0人学习

宝塔 Docker 模块使用手册
宝塔 Docker 模块使用手册

共0课时 | 0人学习