daemon.json–docker常用配置

原文地址:https://www.madbull.site/?p=2442

欢迎参观我的 网站 :无敌牛 -- 技术/著作/典籍/分享等

镜像加速:registry-mirrors

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

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

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


访问私有仓库:insecure-registries

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

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

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


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

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

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

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


更换数据目录:data-root

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

复制代码
{
  "data-root": "/mnt/bigdisk/docker"
}

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


自定义网络子网: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 中分配子网。


启用 BuildKit(现代构建工具)

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

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

复制代码
{
  "features": {
    "buildkit": true
  }
}

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


热恢复:live-restore

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

复制代码
{
  "live-restore": true
}

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

相关推荐
H_老邪2 小时前
Docker 学习之路-从入门到放弃:1
学习·docker·eureka
一只积极向上的小咸鱼2 小时前
docker exec 命令详解
运维·docker·容器
vpk1122 小时前
Docker Compose 部署 Yapi(连接本地MongoDB)
mongodb·docker·yapi
吹牛不交税2 小时前
vben admin框架vue项目发布部署到linux的docker中
linux·运维·docker
最懒的菜鸟2 小时前
docker pull weaviate 国内拉取失败的问题
运维·docker·容器
gallonyin2 小时前
服务器带宽异常排查实战:用 tcpdump + Docker 精准定位“吃带宽”的进程
服务器·docker·tcpdump
草青工作室2 小时前
Spring Boot 环境变量配置详解:从 IDEA 到 Docker 部署
spring boot·docker·intellij-idea
白鸽梦游指南3 小时前
docker部署和常规使用方法
运维·docker·容器
vpk1123 小时前
Docker Compose 部署 GitLab
docker·容器·gitlab