自建 docker hub 容器镜像缓存服务和加速服务
自建容器镜像缓存服务的原因:
docker pull limit refrence
未登录用户,每 6 小时只允许 pull 100 次
已登录用户,每 6 小时只允许 pull 200 次
意味着公开的镜像代理服务,请求超过次数,就会被限制速率
目标: 自建docker镜像加速
使用 docker-compose 快速搭建容器镜像缓存
备注:
192.168.3.121 代理服务器地址
wildcard.xiaoshuogeng.com.fullchain.pem 域名证书公钥
wildcard.xiaoshuogeng.com.key.pem 域名证书私钥
docker.xiaoshuogeng.com:5000 自建容器加速、缓存服务的访问域名其实也可以作为 registry.k8s.io、 k8s.gcr.io、 gcr.io 的镜像缓存,
只需要把 REGISTRY_PROXY_REMOTEURL 分别换成换成 registry.k8s.io、 k8s.gcr.io、 gcr.io、 quay.io等即可
也就是使用多个端口来建立不同的服务
version: "3" services: docker-registry: image: registry:2 container_name: registry-01 restart: always ports: - "5000:5000" volumes: - /data/tls:/tls - /data/docker-registry:/data # 数据目录 environment: - REGISTRY_PROXY_REMOTEURL=https://registry-1.docker.io - REGISTRY_PROXY_USERNAME=username - REGISTRY_PROXY_PASSWORD=password - REGISTRY_HTTP_TLS_CERTIFICATE=/tls/wildcard.xiaoshuogeng.com.fullchain.pem - REGISTRY_HTTP_TLS_KEY=/tls/wildcard.xiaoshuogeng.com.key.pem - REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/data - http_proxy=http://192.168.3.121:1080 # 使用 http 代理 - https_proxy=http://192.168.3.121:1080 # 使用 http 代理
docker 使用加速器(也就是使用缓存镜像)
cat /etc/docker/daemon.json
{ "registry-mirrors": [ "https://docker.xiaoshuogeng.com:5000" ], "insecure-registries":[], "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2", "storage-opts": [ "overlay2.override_kernel_check=true" ], "ipv6": true, "fixed-cidr-v6": "fd00::/64", "experimental": true, "ip6tables": false }
containerd 使用加速器
配置文档: https://github.com/containerd/containerd/blob/main/docs/hosts.md
mkdir -p /etc/containerd/certs.d/docker.io vi /etc/containerd/certs.d/docker.io/hosts.toml server = "https://docker.io" [host."https://docker.xiaoshuogeng.com:5000"] capabilities = ["pull", "resolve"]
查看docker hub 使用次数和速率限制信息
# 获得token TOKEN=$(curl "https://auth.docker.io/token?service=registry.docker.io&scope=repository:ratelimitpreview/test:pull" | jq -r .token) # 查看信息 curl --head -H "Authorization: Bearer $TOKEN" https://registry-1.docker.io/v2/ratelimitpreview/test/manifests/latest
参考文档
- 自建docker hub 容器缓存加速器,只加速官方镜像版的 nginx 的配置
- docker pull Download rate limit
- Mirroring Docker Hub
- docker Authenticate proxy with nginx
- 容器代理配置
- containerd Registry Configuration
- containerd use registry mirrors
- linux 快速安装docker
- 使用acme.sh自助签发Let's Encrypt 的SSL证书
- 自建拉取registry.k8s.io、k8s.gcr.io、gcr.io、quay.io、ghcr.io 容器镜像的服务
- Dockerfile
- Compose file
- 容器运行时有哪些 Container Runtimes
- docker auth token
- skopeo
- docker-library/official-images
- ustclug/mirrorrequest/issues/276 提供常见docker镜像
- containerd Configure Image Registry
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术