Docker镜像加速

Docker 镜像加速

默认从 Docker Hub 拉镜像,国内网络基本拉不动,必须配镜像加速器。

一、写配置

bash 复制代码
mkdir -p /etc/docker

tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://docker.xuanyuan.me",
    "https://hub-mirror.c.163.com",
    "https://my1tmn29.mirror.aliyuncs.com"
  ],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "3"
  }
}
EOF

每个字段什么意思:

字段 作用
registry-mirrors 镜像加速站点(按顺序尝试,第一个可用就生效)
exec-opts 设置 docker 的 cgroup 驱动 。CentOS 7 保持 cgroupfs 也可以;如果宿主机 systemd 版本较新,用 systemd 更统一(K8s 1.24+ 要求运行时和 kubelet 的 cgroup driver 一致)
log-driver 日志驱动,默认 json-file
log-opts.max-size 单个日志文件最大 100m(不限制的话容器日志会把磁盘写满)
log-opts.max-file 最多保留 3 个文件(轮转)

★ 为什么必须配 log-opts :容器日志默认写进 json-file 且不限制大小,一个疯狂打日志的容器能把磁盘写满。这是生产必配项,也是面试常问的"容器日志怎么控制"。

二、生效与检验

bash 复制代码
systemctl daemon-reload        # daemon.json 改了要先 reload
systemctl restart docker       # 再重启 docker
systemctl status docker        # 确认 active (running)

docker info | grep -A5 "Registry Mirrors"

预期输出:

text 复制代码
 Registry Mirrors:
  https://docker.1ms.run/
  https://docker.xuanyuan.me/
  https://hub-mirror.c.163.com/
  https://my1tmn29.mirror.aliyuncs.com/

docker info 里能看到这几行,就说明加速器生效了(这是"加速器是否生效"的唯一权威判断方式,不是看文件)。

三、加速地址从哪找(三类来源)

来源 地址
阿里云专属加速器(最稳,推荐) 阿里云控制台 → 容器镜像服务 ACR → 镜像工具 → 镜像加速器,形如 https://<你的ID>.mirror.aliyuncs.com
商业镜像同步站 轩辕镜像 https://xuanyuan.cloud/、毫秒镜像 https://1ms.run/
镜像站(可查镜像是否存在) https://docker.aityp.com/,例:https://docker.aityp.com/image/docker.io/tomcat:9.0.107-jdk21

坑(重要):

  1. 公共加速地址失效非常快(有的已停服),强烈建议换成自己阿里云控制台申请的专属地址;
  2. 不要填这些 :https://hub.docker.com(官方仓库,不是加速器)、https://cr.console.aliyun.com(控制台地址,不是加速器);
  3. 失效的地址排在前面会浪费超时时间,拖慢每一次拉取,所以列表要精简;
  4. 改完 daemon.json 一定要 systemctl daemon-reload + systemctl restart docker,只 reload 不 restart 不生效;
  5. JSON 写错(多逗号、少引号)会导致 docker 起不来 ,改完先校验:python -m json.tool /etc/docker/daemon.json。
相关推荐
Decay__3 小时前
18_MySQL 智能巡检方案 —— 巡检项清单 / 一键巡检脚本 / 健康评分
运维·数据库·sql·mysql·架构
java_logo3 小时前
Docker 部署 Liquibase:轻松搭建数据库变更管理
数据库·docker·容器·数据库管理·liquibase·轩辕镜像·数据库变更
天远API7 小时前
零信任架构实战:基于天远运营商三要素详版V即时版构建自动化消费电子大促电商平台高价值权益秒杀与优惠券防羊毛高并发实名核验网关
运维·人工智能·架构·自动化
Android系统攻城狮7 小时前
Linux FFmpeg深度解析之avcodec_default_get_encode_buffer调用流程与实战(二十八)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频
乐维_lwops8 小时前
案例解读:大型综合性科创产业园运维监控落地实践
运维·网络·人工智能·安全·it监控·国产运维智能体
番茄啊10 小时前
linux 开启xftp连接
linux·运维·服务器
IT利刃出鞘10 小时前
Docker Compose--解决修改配置后不生效的问题
运维·docker·容器
java_logo10 小时前
Docker 部署 CloudBeaver:轻松搭建网页数据库管理平台
数据库·docker·容器·数据库管理·dbeaver·轩辕镜像·cloudbeaver
Lsetea10 小时前
Docker更新SSL证书后容器仍读旧文件:单文件挂载与目录挂载排查
运维·nginx·docker·https·ssl证书
Julien200411 小时前
管理机密(一)
运维·服务器·开发语言·学习方法