- Notifications
You must be signed in to change notification settings - Fork0
Browse and modify your Docker registry in a browser.
License
lbroman/docker-registry-frontend
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Thedocker-registry-frontend
is a browser-based solution for browsing and modifying a private Docker registry.
...make sure you have consulted theexample-setup/README.md
.
THIS VERSION OF THE DOCKER REGISTRY FRONTEND ONLY WORKS WITH THE DOCKER REGISTRY V2. THERE'S ALSO A LEGACY"V1-DEPRECATED" BRANCH WHICH WORKS WITH THE OLD 0.9.1 DOCKER REGISTRY. THE"V1-DEPRECATED" BRANCH IS VERY STABLE BUT WON'T RECEIVE SIGNIFICANT ATTENTION ANY LONGER BECAUSE THE OLD DOCKER REGISTRY WAS DECLARED DEPRECATED.
THE V2 SUPPORT FOR THE DOCKER REGISTRY FRONTEND IS STILL UNDER ACTIVE DEVELOPMENT. THERE'S A FAIR CHANCE THAT A MAJORITY OF FEATURES IS NOT YET IMPLEMENTED. CHECK THEISSUES AND OPEN A BUG IF SOMETHING DOESN'T WORK RIGHT AWAY.
TO PULL A VERSION OF THIS BRANCH FROM THE DOCKER HUB, MAKE SURE YOU PULL AND RUNkonradkleine/docker-registry-frontend:v2
For a list of all the features, please see theWiki. Note, that currently the Wiki pages still refer to version 1 of this frontend.
To learn how to develop for the docker-registry-frontend, seehere.
This application is available in the form of a Docker image that you can run as a container by executing this command:
sudo docker run \ -d \ -e ENV_DOCKER_REGISTRY_HOST=ENTER-YOUR-REGISTRY-HOST-HERE \ -e ENV_DOCKER_REGISTRY_PORT=ENTER-PORT-TO-YOUR-REGISTRY-HOST-HERE \ -p 8080:80 \ konradkleine/docker-registry-frontend:v2
This command starts the container and forwards the container's private port80
to your host's port8080
. Make sure you specify the correct url to your registry.
When the application runs you can open your browser and navigate tohttp://localhost:8080.
If the Docker registry is only reachable via HTTPs (e.g. if it sits behind a proxy) , you can run the following command:
sudo docker run \ -d \ -e ENV_DOCKER_REGISTRY_HOST=ENTER-YOUR-REGISTRY-HOST-HERE \ -e ENV_DOCKER_REGISTRY_PORT=ENTER-PORT-TO-YOUR-REGISTRY-HOST-HERE \ -e ENV_DOCKER_REGISTRY_USE_SSL=1 \ -p 8080:80 \ konradkleine/docker-registry-frontend:v2
If you want to run the application with SSL enabled, you can do the following:
sudo docker run \ -d \ -e ENV_DOCKER_REGISTRY_HOST=ENTER-YOUR-REGISTRY-HOST-HERE \ -e ENV_DOCKER_REGISTRY_PORT=ENTER-PORT-TO-YOUR-REGISTRY-HOST-HERE \ -e ENV_USE_SSL=yes \ -v $PWD/server.crt:/etc/apache2/server.crt:ro \ -v $PWD/server.key:/etc/apache2/server.key:ro \ -p 443:443 \ konradkleine/docker-registry-frontend:v2
Note that the application still serves the port80
but it is simply not exposed ;). Enable it at your own will. When the application runs with SSL you can open your browser and navigate tohttps://localhost.
If you are running the Docker registry on the same host as the application but only accessible to the application (eg. listening on127.0.0.1
) then you can use the application as the registry itself.
Normally this would then give bad advice on how to access a tag:
docker pull localhost:5000/yourname/imagename:latest
We can override what hostname and port to put here:
sudo docker run \ -d \ -e ENV_DOCKER_REGISTRY_HOST=localhost \ -e ENV_DOCKER_REGISTRY_PORT=5000 \ -e ENV_REGISTRY_PROXY_FQDN=ENTER-YOUR-APPLICATION-HOST-HERE \ -e ENV_REGISTRY_PROXY_PORT=ENTER-PORT-TO-YOUR-APPLICATION-HOST-HERE \ -e ENV_USE_SSL=yes \ -v $PWD/server.crt:/etc/apache2/server.crt:ro \ -v $PWD/server.key:/etc/apache2/server.key:ro \ -p 443:443 \ konradkleine/docker-registry-frontend:v2
A value of80
or443
forENV_REGISTRY_PROXY_PORT
will not actually be shown as Docker will check443
and then80
by default.
If you want to use Kerberos to protect access to the registry frontend, you cando the following:
sudo docker run \ -d \ -e ENV_DOCKER_REGISTRY_HOST=ENTER-YOUR-REGISTRY-HOST-HERE \ -e ENV_DOCKER_REGISTRY_PORT=ENTER-PORT-TO-YOUR-REGISTRY-HOST-HERE \ -e ENV_AUTH_USE_KERBEROS=yes \ -e ENV_AUTH_NAME="Kerberos login" \ -e ENV_AUTH_KRB5_KEYTAB=/etc/apache2/krb5.keytab \ -v $PWD/krb5.keytab:/etc/apache2/krb5.keytab:ro \ -e ENV_AUTH_KRB_REALMS="ENTER.YOUR.REALMS.HERE" \ -e ENV_AUTH_KRB_SERVICE_NAME=HTTP \ -p 80:80 \ konradkleine/docker-registry-frontend:v2
You can of course combine SSL and Kerberos.
If you want to start applicaton with browse mode which means no repos/tags management feature in the UI, You can specifyENV_MODE_BROWSE_ONLY
flag as follows:
sudo docker run \ -d \ -e ENV_DOCKER_REGISTRY_HOST=ENTER-YOUR-REGISTRY-HOST-HERE \ -e ENV_DOCKER_REGISTRY_PORT=ENTER-PORT-TO-YOUR-REGISTRY-HOST-HERE \ -e ENV_MODE_BROWSE_ONLY=true \ -p 8080:80 \ konradkleine/docker-registry-frontend:v2
You can settrue
orfalse
to this flag.
NOTE For nowENV_MODE_BROWSE_ONLY
will be overwritten totrue
.
By default 20 repositories will be listed per page. To adjust this number, tolet's say 50 pass-e ENV_DEFAULT_REPOSITORIES_PER_PAGE=50
to yourdocker run
command.
By default 10 tags will be listed per page. To adjust this number, tolet's say 5 pass-e ENV_DEFAULT_TAGS_PER_PAGE=5
to yourdocker run
command. Note that providing a big number will result in a heavy load on browsers.
If you like the application, I invite you to contribute and report bugs or feature request on the project's github page:https://github.com/kwk/docker-registry-frontend.To learn how to develop for the docker-registry-frontend, seehere.
Thank you for your interest!
-- Konrad
About
Browse and modify your Docker registry in a browser.
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Languages
- JavaScript57.9%
- HTML29.9%
- Dockerfile5.0%
- Shell3.9%
- CSS3.3%