Skip to content

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"]}

Sources