通過 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或命令行操作,適合自動化場景。