Docker Registry UI
A web UI for easy private/local Docker V1 or V2 Registry integration.
Docker Registry UI is a mature, easy-to-use and fast web application for administering your Docker Registry through a sleek user interface. You can register one-to-many registries and then browse, search and delete images.
The application boasts the following features:
View all images for all registries (one to many)
Further info. page for images for inspection of config. etc
Pull copy/paste shortcuts
Search for images
Containerized via Docker
Custom deployment context (e.g. /reg-ui)
Read only mode for preventing registry configuration changes once running
This project is containerized. You can run with docker right now by simply running:
docker run -d -p 8080:8080 atcol/docker-registry-ui
and browsing to localhost:8080/.
You need to have a running instance of
docker registry that has a search backend enabled! See this issue for further information.
The app' requires registry configuration which can be supplied once the app's running, or through container environment variables:
docker run -d -p 8080:8080 -e REG1=http://dev:5000/v1/ -e REG2=http://prod/v1/ atcol/docker-registry-ui
which will run the application and automatically register two registries at the hosts
both running API versions v1. You must provide URLs that include the API version.
Note: don't use
localhost in registry URLs! The host needs to be visible from inside the container, so
-e REG1=http://localhost/... won't work because localhost will resolve to the container's IP. If registry is running on the host, then remember to use its IP:
The webapp's configuration data is stored inside the container in a H2 database under
/var/lib/h2/. You can hold this data on the host machine using the
docker run -d -p 8080:8080 -v /some/data/dir:/var/lib/h2 atcol/docker-registry-ui
which survives container restarts.
You could also use the data-container pattern using
docker run -d -v /var/lib/h2 --name="registry_web_data" ubuntu docker run -d -p 8080:8080 --volumes-from=registry_web_data atcol/docker-registry-ui
Now all data will be kept in the
Custom Deployment Context
You can deploy this container in a custom context as such:
docker run -d -p 80:8080 -it -e APP_CONTEXT=ui -e REG1=http://172.17.42.1:5000/v1/ atcol/docker-registry-ui
will expose the container under
Read Only Mode
Using the container parameter
-e READ_ONLY=true will enable read only mode, which prevents manipulation of the
registry configurations at runtime.
As of release 0.9.5, this project is licenced under GPL v3.0. See the LICENSE file.
My registry can't be found/seen by docker registry web! Help!
If you're seeing error messages like
Connection to http://registry refused, make sure you've configured the port and hostname correctly. Do not set the registry hostname to
localhost, because the container will resolve this to itself (127.0.0.1). If the registry instance runs on the host machine (that which runs the container), then set the registry IP/hostname to
172.17.42.1. Alternatively, you could use writable /etc/hosts as of Docker 1.2 and 'route' it that way.
Registries behind HTTPS or
Ping failed: javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
You need to register the CA with the container's keystore; see this issue.