Docker私有仓库页面访问实现

发布于:2025-04-17 ⋅ 阅读:(31) ⋅ 点赞:(0)

通过 docker run -d -p 5000:5000 --name registry registry:2 命令搭建的Docker私有仓库默认不提供网页访问界面。它是一个基于API的后端服务,主要用于镜像的存储和管理。但可以通过以下两种方式实现网页访问:


一、通过第三方Web UI工具扩展

1. 使用 Docker Registry Frontend
  • 功能:提供镜像浏览、标签查看等基础功能。
  • 部署步骤
    1. 运行 docker-registry-frontend 容器(需与Registry服务在同一网络或互通):
      docker run -d -p 8080:80 \
        -e ENV_DOCKER_REGISTRY_HOST=你的Registry服务器IP \
        -e ENV_DOCKER_REGISTRY_PORT=5000 \
        --link registry:registry \
        konradkleine/docker-registry-frontend:v2
      
    2. 访问 http://服务器IP:8080 即可通过网页查看镜像列表和标签。
  • 注意事项
    • 若无法加载镜像,需确保前端容器能访问Registry的5000端口(建议使用 --link 或自定义网络)。
    • 支持HTTPS需额外配置证书和参数(如 -e ENV_DOCKER_REGISTRY_USE_SSL=1)。
2. 使用 Portainer
  • 功能:作为Docker环境的管理工具,间接支持查看私有仓库的镜像。
  • 部署步骤
    docker run -d -p 9000:9000 \
      -v /var/run/docker.sock:/var/run/docker.sock \
      portainer/portainer
    
  • 访问 http://服务器IP:9000 后,在Portainer界面中通过Docker API间接管理Registry仓库。

二、集成企业级私有仓库(如 Harbor)

功能对比
  • 原生Registry:仅支持基础API操作,无UI、权限管理、审计等功能。
  • Harbor:提供完整的Web界面,支持镜像管理、权限控制、漏洞扫描等企业级功能。
部署步骤(简要)
  1. 下载Harbor安装包并配置 harbor.yml
    hostname: 你的服务器IP
    http:
      port: 8080
    
  2. 执行安装脚本:
    ./install.sh
    
  3. 访问 http://服务器IP:8080 使用管理员账号登录。

三、直接访问Registry API

若仅需查看仓库内容,可通过以下API接口访问:

  • 查看所有镜像
    curl http://服务器IP:5000/v2/_catalog
    
  • 查看某个镜像的标签列表
    curl http://服务器IP:5000/v2/镜像名称/tags/list
    

注意事项

  1. HTTP访问配置
    • 若使用HTTP协议(非HTTPS),需在客户端的 /etc/docker/daemon.json 中添加:
      "insecure-registries": ["你的Registry服务器IP:5000"]
      
      并重启Docker服务。
  2. 网络与防火墙
    • 确保Web UI工具的端口(如8080、9000)和Registry的5000端口在防火墙中开放。

总结

  • 轻量级需求:选择 docker-registry-frontend 或 Portainer,快速搭建简单UI。
  • 企业级需求:部署 Harbor 实现完整的Web管理功能。
  • 原生Registry:仅适合通过API或命令行操作,适合自动化场景。

网站公告

今日签到

点亮在社区的每一天
去签到