news 2026/10/24 4:27:35

Docker Registry以及Docker-Registry-UI部署

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Docker Registry以及Docker-Registry-UI部署

Docker Registry以及Docker-Registry-UI部署

  • 前言
  • 一、下载镜像并启动
    • 1.1 docker快速启动
    • 1.2 docker-compose启动
  • 二、查看registry版本
  • 三、上传镜像到registry
  • 四、删除镜像
    • 4.1 配置registry允许删除镜像
    • 4.2 删除镜像
      • 4.2.1 命令删除
      • 4.2.2 Registry管理界面删除

前言

部署Docker Registry之前先部署Docker
参考Docker、Docker Compose部署
Docker-Registry-UI(Registry管理界面)github项目地址:https://github.com/Joxit/docker-registry-ui


一、下载镜像并启动

# 注意:V3和V2版本对应的配置文件路径不一致# 下载最新版本镜像(目前是V3版本)dockerpull registry# 下载V2版本镜像(2.8.3版本)dockerpull registry:2# 下载Registry管理界面镜像(不需要界面则不需要下载该镜像)dockerpull joxit/docker-registry-ui:main# 创建数据目录mkdir/opt/registry/data

1.1 docker快速启动

# 启动registrydockerrun -d -p5000:5000\--name=registry\--restart=always\-v /opt/registry/data:/var/lib/registry\# 启用删除功能(V3版本配置文件默认开启,可以不需要配置;V2版本需要删除功能就需要开启,或者修改配置文件开启)-eREGISTRY_STORAGE_DELETE_ENABLED='true'\# 如果需要启动Registry管理界面,需要如下配置-e REGISTRY_HTTP_HEADERS_Access-Control-Allow-Origin='[http://192.168.1.114:5001]'\-e REGISTRY_HTTP_HEADERS_Access-Control-Allow-Methods='[HEAD,GET,OPTIONS,DELETE]'\-e REGISTRY_HTTP_HEADERS_Access-Control-Allow-Credentials='[true]'\-e REGISTRY_HTTP_HEADERS_Access-Control-Allow-Headers='[Authorization,Accept,Cache-Control]'\-e REGISTRY_HTTP_HEADERS_Access-Control-Expose-Headers='[Docker-Content-Digest]'\registry# 启动Registry管理界面dockerrun -d -p5001:80\--name registry-ui\--restart=always\--envSINGLE_REGISTRY=true\--envREGISTRY_TITLE='Docker Registry UI'\--envREGISTRY_URL=http://192.168.1.114:5000\--envDELETE_IMAGES=true\--envSHOW_CONTENT_DIGEST=true\--envSHOW_CATALOG_NB_TAGS=true\--envTAGLIST_PAGE_SIZE=100\--envCATALOG_ELEMENTS_LIMIT=1000\--envREGISTRY_SECURED=false\joxit/docker-registry-ui:main ·SINGLE_REGISTRY=true# true:UI只连接一个Docker Registry;false:可以配置多个Registry·REGISTRY_TITLE='Docker Registry UI'# UI标题·REGISTRY_URL=http://192.168.1.114:5000# Docker Registry 的地址·DELETE_IMAGES=true# 允许用户在UI中删除镜像·SHOW_CONTENT_DIGEST=true# 在UI中显示内容摘要(digest)·SHOW_CATALOG_NB_TAGS=true# 在UI中显示每个镜像的标签数量·TAGLIST_PAGE_SIZE=100# 设置标签列表的页面大小为100,控制每页显示的标签数量·CATALOG_ELEMENTS_LIMIT=1000# 设置目录元素的限制为1000,控制在UI中显示的最大元素数量·REGISTRY_SECURED=false# false:Docker Registry不使用HTTPS;true:Registry使用HTTPS

1.2 docker-compose启动

# 创建 docker-compose.ymlcd/opt/registryvimdocker-compose.yml version:'3.8'services: registry: image: registry container_name: registry restart: always ports: -"5000:5000"volumes: - /opt/registry/data:/var/lib/registry environment:# 启用删除功能(V3版本配置文件默认开启,可以不需要配置;V2版本需要删除功能就需要开启,或者修改配置文件开启)REGISTRY_STORAGE_DELETE_ENABLED:'true'# 如果需要启动Registry管理界面,需要如下配置REGISTRY_HTTP_HEADERS_Access-Control-Allow-Origin:'[http://192.168.1.114:5001]'REGISTRY_HTTP_HEADERS_Access-Control-Allow-Methods:'[HEAD,GET,OPTIONS,DELETE]'REGISTRY_HTTP_HEADERS_Access-Control-Allow-Credentials:'[true]'REGISTRY_HTTP_HEADERS_Access-Control-Allow-Headers:'[Authorization,Accept,Cache-Control]'REGISTRY_HTTP_HEADERS_Access-Control-Expose-Headers:'[Docker-Content-Digest]'# Registry管理界面registry-ui: image: joxit/docker-registry-ui:main container_name: registry-ui restart: always ports: -5001:80 environment:# true:UI只连接一个Docker Registry;false:可以配置多个Registry-SINGLE_REGISTRY=true# UI标题-REGISTRY_TITLE=Docker Registry UI# Docker Registry 的地址-REGISTRY_URL=http://192.168.1.114:5000# 允许用户在UI中删除镜像+-DELETE_IMAGES=true# 在UI中显示内容摘要(digest)-SHOW_CONTENT_DIGEST=true# 在UI中显示每个镜像的标签数量-SHOW_CATALOG_NB_TAGS=true# 设置标签列表的页面大小为100,控制每页显示的标签数量-TAGLIST_PAGE_SIZE=100# 设置目录元素的限制为1000,控制在UI中显示的最大元素数量-CATALOG_ELEMENTS_LIMIT=1000# false:Docker Registry不使用HTTPS;true:Registry使用HTTPS-REGISTRY_SECURED=false# 启动服务docker-composeup -d

二、查看registry版本

# 查看registry版本:docker exec -it <container-name> registry --versiondockerexec-it registry registry --version# V3版本输出:registry github.com/distribution/distribution/v3 3.0.0# V2版本输出:registry github.com/docker/distribution 2.8.3

三、上传镜像到registry

vim/etc/docker/daemon.json# 添加安全访问权限{"insecure-registries":["http://192.168.1.114:5000"]}# 重启Dockersystemctl restartdocker# 登录registry仓库dockerlogin192.168.1.114:5000# docker下载nginx镜像并上传到registrydockerpull nginxdockertag nginx:latest192.168.1.114:5000/nginx:latestdockerpush192.168.1.114:5000/nginx:latest# 查看 repository 列表curlhttp://192.168.1.114:5000/v2/_catalog# 查看镜像 tag 列表:http://ip:5000/v2/<image_name>/tags/listcurlhttp://192.168.1.114:5000/v2/nginx/tags/list

四、删除镜像

注:通过Docker-Registry-UI页面删除镜像,也需要手动进行垃圾回收释放存储空间

4.1 配置registry允许删除镜像

如果registry启动时添加了环境变量:启用删除功能(REGISTRY_STORAGE_DELETE_ENABLED='true'),则忽略此步骤

# 查找配置文件# V3版本配置文件路径:/etc/distribution/config.yml# V2版本配置文件路径:/etc/docker/registry/config.ymldockerexec-it registryfind/ -name"config.yml"# 进入容器内部dockerexec-it registry /bin/sh# V3版本# 查看storage.delete.enabled: true是否配置(默认已配置)cat/etc/distribution/config.yml version:0.1log: level: debug fields: service: registry environment: development storage: delete: enabled:truecache: blobdescriptor: inmemory filesystem: rootdirectory: /var/lib/registry tag: concurrencylimit:5http: addr: :5000 debug: addr: :5001 prometheus: enabled:truepath: /metrics health: storagedriver: enabled:trueinterval: 10s threshold:3# V2版本# 添加storage.delete.enabled: true(默认未配置)vi/etc/docker/registry/config.yml version:0.1log: fields: service: registry storage: delete: enabled:true# 添加cache: blobdescriptor: inmemory filesystem: rootdirectory: /var/lib/registry http: addr: :5000 headers: X-Content-Type-Options:[nosniff]health: storagedriver: enabled:trueinterval: 10s threshold:3# 重启registry容器dockerrestart registry# 如果使用docker compose启动,则使用docker-compose restart重启#docker-compose restart

4.2 删除镜像

4.2.1 命令删除

# 查询要删除镜像tag:http://192.168.1.114:5000/v2/<image_name>/tags/listcurlhttp://192.168.1.114:5000/v2/nginx/tags/list# 查询镜像的Digest:GET http://ip:5000/v2/<image_name>/manifests/<tag># 必须在 Header 中指定 Accept 为 v2 格式,否则可能获取到错误的 Digest。curl--header"Accept: application/vnd.docker.distribution.manifest.v2+json"-I -X GET http://192.168.1.114:5000/v2/nginx/manifests/latest# 输出如下:HTTP/1.1200OK Content-Length:1778Content-Type: application/vnd.docker.distribution.manifest.v2+json Docker-Content-Digest: sha256:a6dd519f4cc2f69a8f049f35b56aec2e30b7ddfedee12976c9e289c07b421804 Docker-Distribution-Api-Version: registry/2.0 Etag:"sha256:a6dd519f4cc2f69a8f049f35b56aec2e30b7ddfedee12976c9e289c07b421804"Date: Mon,26Jan202617:24:49 GMT# 调用registry接口删除镜像curl-I -X DELETE http://192.168.1.114:5000/v2/nginx/manifests/sha256:a6dd519f4cc2f69a8f049f35b56aec2e30b7ddfedee12976c9e289c07b421804# 输出如下:HTTP/1.1202Accepted Docker-Distribution-Api-Version: registry/2.0 Date: Tue,27Jan202609:35:07 GMT Content-Length:0# 执行垃圾回收,释放存储空间:docker exec -it <镜像仓库容器ID/名称> /bin/registry garbage-collect <镜像仓库配置文件># V3版本dockerexec-it registry bin/registry garbage-collect /etc/distribution/config.yml# V2版本dockerexec-it registry bin/registry garbage-collect /etc/docker/registry/config.yml

4.2.2 Registry管理界面删除

# 执行垃圾回收,释放存储空间:docker exec -it <镜像仓库容器ID/名称> /bin/registry garbage-collect <镜像仓库配置文件># V3版本dockerexec-it registry bin/registry garbage-collect /etc/distribution/config.yml# V2版本dockerexec-it registry bin/registry garbage-collect /etc/docker/registry/config.yml
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/17 19:20:22

点成干货 | 基于人字形混合芯片的脂质纳米颗粒微流控制备技术

摘要 脂质纳米颗粒&#xff08;Lipid Nanoparticles, LNPs&#xff09;作为新一代药物递送载体&#xff0c;在抗癌药物、mRNA 疫苗等领域展现出不可替代的优势。传统批量混合法制备 LNPs 存在粒径分布宽、重现性差等问题&#xff0c;难以满足生物医学对载体均一性的严苛需求。…

作者头像 李华
网站建设 2026/10/24 4:26:43

智能化温室培育与存储检测系统设计

智能化温室培育与存储检测系统设计 第一章 绪论 传统温室培育与存储依赖人工监测环境参数、手动调控设备&#xff0c;存在温湿度、光照、二氧化碳浓度等参数控制精度低、响应滞后&#xff0c;以及作物生长状态与存储品质检测不及时等问题&#xff0c;易导致作物减产、存储损耗率…

作者头像 李华
网站建设 2026/10/23 13:33:09

高效代付新选择:API 批量代发接口(纯代付通道)

若你需要第三方支付纯代付通道&#xff0c;这款API 批量代发接口会是理想之选。 该接口直连第三方支付公司代付通道&#xff0c;资金流转路径清晰可控&#xff1a;先将资金从企业对公账户转入第三方支付公司备付金账户&#xff0c;再由支付公司批量下发至目标个人账户或对公账…

作者头像 李华
网站建设 2026/10/24 4:27:28

RAG2.0引擎设计挑战与实现:构建高效大模型应用的关键步骤

文章详细介绍了RAG2.0引擎的设计挑战与实现方案&#xff0c;包括解决RAG1.0痛点的高效文档切分方法、混合检索与多路召回策略、基于张量的重排序技术&#xff0c;以及RAPTOR、Agentic RAG和知识图谱等高级预处理方法。文章还探讨了多模态RAG与延迟交互模型的发展趋势&#xff0…

作者头像 李华
网站建设 2026/10/24 4:27:14

大模型训练岗薪资破180万!12项硬核技能图谱与三阶成长路线_2026金三银四:大模型训练岗年薪百万技术栈揭秘

文章分析了2025年大模型训练岗位高薪情况&#xff08;峰值达180万&#xff09;&#xff0c;详细介绍了万卡集群调度、混合专家训练等12项硬核技术能力。提供了从理论学习到开源贡献再到竞赛路径的三阶成长路线&#xff0c;以及企业面试能力模型与题库&#xff0c;帮助开发者突破…

作者头像 李华
网站建设 2026/10/24 1:18:43

Agent记忆系统深度解析:从Embedding到三层分级架构的进化之路

本文通过作者面试失败的经历&#xff0c;深入分析了传统Agent记忆系统的局限性&#xff0c;提出了一套完善的记忆架构。包括短期记忆的检查点机制、三层分级记忆架构&#xff08;资源、条目、类别&#xff09;、图谱与向量的混合结构&#xff0c;以及记忆的衰减与维护机制。文章…

作者头像 李华