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
}
特别适合生产环境,提升服务可用性。


发表回复