Docker Registry Web UI¶
Docker Registry Web UI is a browser-based interface for browsing and managing the contents of a private Docker Registry (Registry v2)^[600-developer__docker__Dockerfile__Dockerfile-01.md]. The functionality is typically provided by the hyper/docker-registry-web Docker image, which acts as a client to the registry server^[600-developer__docker__Dockerfile__Dockerfile-01.md].
Deployment¶
The UI is deployed as a container that runs alongside the main registry service^[600-developer__docker__Dockerfile__Dockerfile-01.md]. A standard deployment involves two steps: launching the registry server and then launching the web UI container with a link to the server^[600-developer__docker__Dockerfile__Dockerfile-01.md].
1. Registry Service¶
The registry server must be running, typically mapped to port 5000 on the host^[600-developer__docker__Dockerfile__Dockerfile-01.md].
docker run -d -p 5000:5000 --name registry registry:2
2. Web UI container¶
The web UI container connects to the registry using Docker's legacy --link feature^[600-developer__docker__Dockerfile__Dockerfile-01.md]. This configuration allows the UI to interact directly with the registry's API^[600-developer__docker__Dockerfile__Dockerfile-01.md].
docker run -d \
-p 8080:8080 \
--name registry-web \
--link registry \
-e REGISTRY_URL=http://127.0.0.1:5000/v2 \
-e REGISTRY_NAME=127.0.0.1:5000 \
hyper/docker-registry-web
Environment Variables:
REGISTRY_URL: Specifies the endpoint of the registry's v2 API^[600-developer__docker__Dockerfile__Dockerfile-01.md].REGISTRY_NAME: Defines the display name shown in the web interface^[600-developer__docker__Dockerfile__Dockerfile__Dockerfile-01.md].
In some configurations, the REGISTRY_URL may point to the internal DNS of the linked container (e.g., http://registry-srv:5000/v2) to facilitate communication within the Docker network^[600-developer__docker__Dockerfile__Dockerfile-01.md].
API Verification¶
The registry server exposes a REST API that can be queried to verify contents independently of the UI. For example, to list all repositories, one can use the /_catalog endpoint^[600-developer__docker__Dockerfile__Dockerfile-01.md]:
curl -X GET http://127.0.0.1:5000/v2/_catalog
# Output: {"repositories":["mytomcat"]}