
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
docker-registry是Docker官方提供的开源镜像仓库实现,它允许用户轻松搭建和运行私有Docker镜像仓库。通过使用docker-registry,组织可以安全地存储、管理和分发Docker镜像,避免将敏感镜像上传到公共仓库,同时提高镜像拉取速度并降低带宽成本。该镜像完全符合Docker镜像仓库API规范,可与标准Docker命令行工具无缝集成。
docker-registry适用于以下场景:
使用以下命令快速启动一个基本的docker-registry实例:
bashdocker run -d -p 5000:5000 --name registry ngc7331/docker-registry
这将在本地5000端口启动一个docker-registry服务,所有镜像数据将存储在容器内部的/var/lib/registry目录。
为确保容器重启后镜像数据不丢失,应使用数据卷挂载:
bashdocker run -d -p 5000:5000 --name registry \ -v /path/to/local/storage:/var/lib/registry \ ngc7331/docker-registry
创建docker-compose.yml文件:
yamlversion: '3' services: registry: image: ngc7331/docker-registry ports: - "5000:5000" volumes: - registry_data:/var/lib/registry restart: always environment: - REGISTRY_STORAGE_DELETE_ENABLED=true volumes: registry_data:
使用以下命令启动:
bashdocker-compose up -d
生产环境中应启用HTTPS以确保通信安全:
bashdocker run -d -p 443:443 --name registry \ -v /path/to/certs:/certs \ -v /path/to/data:/var/lib/registry \ -e REGISTRY_HTTP_ADDR=0.0.0.0:443 \ -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \ -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \ ngc7331/docker-registry
可以通过添加认证中间件来保护 registry:
bash# 创建密码文件 mkdir auth docker run --rm --entrypoint htpasswd registry:2 -Bbn username password > auth/htpasswd # 启动带认证的registry docker run -d -p 5000:5000 --name registry \ -v /path/to/auth:/auth \ -v /path/to/data:/var/lib/registry \ -e REGISTRY_AUTH=htpasswd \ -e REGISTRY_AUTH_HTPASSWD_REALM=RegistryRealm \ -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \ ngc7331/docker-registry
bashdocker login myregistry.example.com:5000
bashdocker tag my-image:latest myregistry.example.com:5000/my-image:latest
bashdocker push myregistry.example.com:5000/my-image:latest
bashdocker pull myregistry.example.com:5000/my-image:latest
bashcurl http://myregistry.example.com:5000/v2/_catalog
bashcurl http://myregistry.example.com:5000/v2/my-image/tags/list
docker-registry支持多种环境变量配置,常用选项包括:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
| REGISTRY_HTTP_ADDR | 服务监听地址 | :5000 |
| REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY | 文件系统存储根目录 | /var/lib/registry |
| REGISTRY_AUTH | 认证类型,如htpasswd、token | 无 |
| REGISTRY_AUTH_HTPASSWD_PATH | htpasswd文件路径 | 无 |
| REGISTRY_HTTP_TLS_CERTIFICATE | TLS证书路径 | 无 |
| REGISTRY_HTTP_TLS_KEY | TLS私钥路径 | 无 |
| REGISTRY_STORAGE_DELETE_ENABLED | 是否允许删除镜像 | false |
| REGISTRY_CACHE_BLOBDESCRIPTOR | 缓存类型 | inmemory |
对于复杂配置需求,可以使用配置文件挂载:
bashdocker run -d -p 5000:5000 --name registry \ -v /path/to/config.yml:/etc/docker/registry/config.yml \ -v /path/to/data:/var/lib/registry \ ngc7331/docker-registry
配置文件示例:
yamlversion: 0.1 log: fields: service: registry storage: cache: blobdescriptor: inmemory filesystem: rootdirectory: /var/lib/registry http: addr: :5000 headers: X-Content-Type-Options: [nosniff] health: storagedriver: enabled: true interval: 10s threshold: 3
清理未被引用的镜像数据以释放存储空间:
bash# 进入容器 docker exec -it registry /bin/sh # 运行垃圾回收 registry garbage-collect /etc/docker/registry/config.yml
由于所有数据存储在/var/lib/registry目录,只需备份此目录即可:
bashdocker exec registry tar -czf - /var/lib/registry > registry_backup.tar.gz
检查registry健康状态:
bashcurl [***]
以下是 ngc7331/registry 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。



来自真实用户的反馈,见证轩辕镜像的优质服务