daemon.json–docker常用配置

daemon.json–docker常用配置

1️⃣ 镜像加速:registry-mirrors

国内用户拉取 Docker Hub 镜像常常龟速。通过配置镜像加速器,可大幅提升速度。

{
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn"
  ]
}

推荐使用网易、中科大、阿里云等提供的公共镜像加速服务。


2️⃣ 访问私有仓库:insecure-registries

如果你的私有仓库使用 HTTP 或自签名 HTTPS 证书,Docker 默认会拒绝连接。此时需添加信任:

{
  "insecure-registries": ["192.168.10.100:5000", "my-registry.local"]
}

⚠️ 注意:仅限内网或测试环境使用,生产环境应配置有效 TLS 证书。


3️⃣ 控制容器日志:log-driver + log-opts

默认情况下,容器日志会无限增长,最终可能撑爆磁盘。通过限制日志大小,可避免此类事故:

{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "3"
  }
}

效果:每个容器最多保留 3 个日志文件,每个不超过 100MB,总日志 ≤ 300MB。


4️⃣ 更换数据目录:data-root

Docker 默认将镜像、容器、卷等数据存放在 /var/lib/docker。如果系统盘空间小,可将其迁移到大容量磁盘:

{
  "data-root": "/mnt/bigdisk/docker"
}

迁移前请先停止 Docker,并手动移动原有数据。


5️⃣ 自定义网络子网:default-address-pools

Docker 默认使用 172.17.0.0/16 等网段创建 bridge 网络。若与公司内网冲突,会导致容器无法访问外部服务。可通过以下配置规避:

{
  "default-address-pools": [
    {"base": "10.200.0.0/16", "size": 24}
  ]
}

这样新建的自定义网络将从 10.200.x.0/24 中分配子网。


6️⃣ 启用 BuildKit(现代构建工具)

BuildKit 是 Docker 新一代构建引擎,支持并行构建、缓存优化、Secret 安全注入等高级功能。

虽然新版 Docker 已默认启用,但你仍可显式开启:

{
  "features": {
    "buildkit": true
  }
}

之后使用 docker build 即自动使用 BuildKit。


7️⃣ 热恢复:live-restore

当 Docker 守护进程重启时,默认会停止所有容器。启用 live-restore 后,容器将继续运行,业务无感知:

{
  "live-restore": true
}

特别适合生产环境,提升服务可用性。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注