自建Docker镜像加速服务"

admin 2026-10-19 17:44:49 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

自建 Docker 镜像加速服务

内存泄漏

2026年8月19日 23:34
辽宁

在小说阅读器读本章

去阅读

以下文章来源于重构一切有为法
,作者罗道义

重构一切有为法
.

代码有生灭,架构有兴衰。一切有为法,应作如是观。

如果你手上有多台机器,或者经常重装环境,Docker 拉镜像慢这件事迟早会烦到你。我的做法是直接自建一个镜像代理服务。原文里的配置比较完整,这里保留真正需要抄的部分。

1. 可选:先做账号密码

如果你想给镜像代理加认证,可以先生成一个 htpasswd 文件:

mkdir -p /opt/registry-proxy && cd $_
htpasswd -Bbn username password > ./htpasswd

把 username 和 password 换成你自己的。

2. docker-compose.yaml

核心就是起两个服务:

  • 一个 registry 代理 Docker Hub
  • 一个 UI 方便看状态
services:
  dockerhub:
    container_name:reg-docker-hub
    image:dqzboy/registry:latest
    restart:always
    environment:
      -OTEL_TRACES_EXPORTER=none
      # 如果需要代理,取消下面注释
      #- http_proxy=http://host:port
      #- https_proxy=http://host:port
    volumes:
      -./registry/data:/var/lib/registry
      -./registry-hub.yml:/etc/distribution/config.yml
      #- ./htpasswd:/auth/htpasswd
    ports:
      -51000:5000
    networks:
      -registry-net

registry-ui:
    container_name:registry-ui
    image:dqzboy/docker-registry-ui:latest
    environment:
      -DOCKER_REGISTRY_URL=http://reg-docker-hub:5000
      -SECRET_KEY_BASE=9f1824...01b2
      -ENABLE_DELETE_IMAGES=true
      -NO_SSL_VERIFICATION=true
    restart:always
    ports:
      -50000:8080
    networks:
      -registry-net

networks:
registry-net:

注意两点:

  • 如果你启用认证,就把 htpasswd 挂载取消注释
  • SECRET_KEY_BASE 要自己生成,不要直接抄示例

3. registry-hub.yml

这个文件才是代理 Docker Hub 的关键:

version: 0.1
log:
fields:
    service:registry
storage:
filesystem:
    rootdirectory:/var/lib/registry
delete:
    enabled:true
cache:
    blobdescriptor:inmemory
    blobdescriptorsize:10000
maintenance:
    uploadpurging:
      enabled:true
      age:168h
      interval:24h
      dryrun:false
    readonly:
      enabled:false
http:
addr::5000
headers:
    X-Content-Type-Options: [nosniff]
    Access-Control-Allow-Origin: ['*']
    Access-Control-Allow-Methods: ['HEAD', 'GET', 'OPTIONS', 'DELETE']
    Access-Control-Allow-Headers: ['Authorization', 'Accept', 'Cache-Control']
    Access-Control-Max-Age: [1728000]
    Access-Control-Allow-Credentials: [true]
    Access-Control-Expose-Headers: ['Docker-Content-Digest']

#auth:
#  htpasswd:
#    realm: basic-realm
#    path: /auth/htpasswd

health:
storagedriver:
    enabled:true
    interval:10s
    threshold:3

proxy:
remoteurl:https://registry-1.docker.io
username:
password:
ttl:168h

如果你做其他镜像源代理,主要就是改 proxy.remoteurl。

4. 启动

docker compose up -d

# 检查是否起来

docker ps

5. 客户端接入

最后在 Docker 的 daemon.json 里把镜像源改过去:

{
  \"registry-mirrors\": [\"https://hub.your_domain_name\"],
  \"log-opts\": {
    \"max-size\": \"100m\",
    \"max-file\": \"5\"
  }
}

然后重启 Docker:

systemctl restart docker

6. 什么时候值得自己搭

这套方案比较适合:

  • 多台机器重复拉相同镜像
  • 你想少依赖临时公共镜像源
  • 你想自己掌控可用性和速度

如果你只是偶尔 docker pull 一次,确实没必要上来就折腾。

最后

这套东西最值的地方不是技术多炫,而是它真的能长期省时间。尤其机器一多之后,你会明显感觉到:自己有个稳定镜像代理,比到处找临时镜像源靠谱得多。


自建Docker镜像加速服务" 网络安全文章

自建Docker镜像加速服务"

本文介绍了自建Docker镜像代理服务的完整步骤,包括生成认证文件、使用docker-compose部署registry和UI服务、配置代理关键文件registry-hub.yml、启动服务及客户端接入。核心结论是自建代理适合多台机器重复拉取镜像的场景,能长期节省时间并提升可用性。可操作建议是启动后修改daemon.json配置镜像源。
众安天下获CCIA“2026网络安全优秀创新成果大赛”人工智能赛道优胜奖" 网络安全文章

众安天下获CCIA“2026网络安全优秀创新成果大赛”人工智能赛道优胜奖"

众安天下在CCIA2026网络安全优秀创新成果大赛中,其面向大语言模型应用的四层纵深安全检测方案获人工智能赛道优胜奖。该方案将判定对象从文本提升至行为,覆盖模型、应用、智能体行为及生物识别四层,结合规则、语义、裁判引擎及上下文审计四层递进检测,实现全流程自动化,测评时长缩短约70%,可嵌入CI/CD流水线。方案体现了从传统关键词匹配到行为级可信检测的升级,旨在让AI安全测评清晰可信可落地。
腾讯大数据SuperSQL刷新TPC-DS世界纪录,性能、性价比双料第一" 网络安全文章

腾讯大数据SuperSQL刷新TPC-DS世界纪录,性能、性价比双料第一"

腾讯天穹SuperSQL刷新TPC-DS世界纪录,性能与性价比双第一,综合成绩达6.54亿为前纪录近10倍,单位成本降至约六分之一。平台依托自研TEngine向量化底座,通过AutoCTE全局复用、RuntimeFilter代价建模及大模型智能诊断等技术创新,实现超大规模数据下的高效计算与稳定运行,并登顶Spider2.0-Lite榜单,为行业提供高性能大数据解决方案。
评论:0   参与:  0