通过 docker run -d -p 5000:5000 --name registry registry:2
命令搭建的Docker私有仓库默认不提供网页访问界面。它是一个基于API的后端服务,主要用于镜像的存储和管理。但可以通过以下两种方式实现网页访问:
一、通过第三方Web UI工具扩展
1. 使用 Docker Registry Frontend
- 功能:提供镜像浏览、标签查看等基础功能。
- 部署步骤:
- 运行
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
- 访问
http://服务器IP:8080
即可通过网页查看镜像列表和标签。
- 运行
- 注意事项:
- 若无法加载镜像,需确保前端容器能访问Registry的5000端口(建议使用
--link
或自定义网络)。 - 支持HTTPS需额外配置证书和参数(如
-e ENV_DOCKER_REGISTRY_USE_SSL=1
)。
- 若无法加载镜像,需确保前端容器能访问Registry的5000端口(建议使用
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界面,支持镜像管理、权限控制、漏洞扫描等企业级功能。
部署步骤(简要):
- 下载Harbor安装包并配置
harbor.yml
:hostname: 你的服务器IP http: port: 8080
- 执行安装脚本:
./install.sh
- 访问
http://服务器IP:8080
使用管理员账号登录。
三、直接访问Registry API
若仅需查看仓库内容,可通过以下API接口访问:
- 查看所有镜像:
curl http://服务器IP:5000/v2/_catalog
- 查看某个镜像的标签列表:
curl http://服务器IP:5000/v2/镜像名称/tags/list
注意事项
- HTTP访问配置:
- 若使用HTTP协议(非HTTPS),需在客户端的
/etc/docker/daemon.json
中添加:
并重启Docker服务。"insecure-registries": ["你的Registry服务器IP:5000"]
- 若使用HTTP协议(非HTTPS),需在客户端的
- 网络与防火墙:
- 确保Web UI工具的端口(如8080、9000)和Registry的5000端口在防火墙中开放。
总结
- 轻量级需求:选择
docker-registry-frontend
或 Portainer,快速搭建简单UI。 - 企业级需求:部署 Harbor 实现完整的Web管理功能。
- 原生Registry:仅适合通过API或命令行操作,适合自动化场景。