GitHub - snagles/docker-registry-manager: Web front end for managing multiple pr...
source link: https://github.com/snagles/docker-registry-manager
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Docker Registry Manager
Docker Registry Manager is a golang written, beego driven, web interface for interacting with multiple docker registries (one to many).
Service | Master | Develop |
---|---|---|
Status | ||
Coverage |
Current Features
- Support for docker distribution registry v2 (https and http)
- Viewable image/tags stages, commands, and sizes.
- Bulk deletes of tags
- Registry activity logs
- Comparison of registry images to public Dockerhub images
Planned Features
- Authentication for users with admin/read only rights using TLS
- Global search
- List image shared layers
- Event timeline
Quickstart
The below steps assume you have a docker registry currently running (with delete mode enabled (https://docs.docker.com/registry/configuration/). To add a registry to manage, add via the interface... or via the registries.yml file
Docker-Compose (Recommended)
Install compose (https://docs.docker.com/compose/install/), and then run the below commands
git clone https://github.com/snagles/docker-registry-manager.git && cd docker-registry-manager vim registries.yml # add your registry vim docker-compose.yml # Edit application settings e.g log level, port docker-compose up -d firefox localhost:8080
Environment Options:
- MANAGER_PORT: Port to run on inside the docker container
- MANAGER_REGISTRIES: Registries.yml file location inside the docker container
- MANAGER_LOG_LEVEL: Log level for logs (fatal, panic, error, warn, info, debug)
- MANAGER_ENABLE_HTTPS: true/false for using HTTPS. When using HTTPS the below options must be set
- MANAGER_KEY: key file location inside the docker container
- MANAGER_CERTIFICATE: Certificate location inside the docker container
Helm (Kubernetes)
With a working kubernetes cluster and helm installation, run the following:
git clone https://github.com/snagles/docker-registry-manager.git && cd docker-registry-manager vim helm/values.yaml # configure with your cluster specifics and add registries helm install --name docker-registry-manager helm/
git clone https://github.com/snagles/docker-registry-manager.git && cd docker-registry-manager vim registries.yml # add your registry cd app && go build . && ./app --port 8080 --log-level warn --registries "../registries.yml" firefox localhost:8080
CLI Options
- port, p: Port to run on
- registries, r: Registrys.yml file location
- log-level, l: Log level for logs (fatal, panic, error, warn, info, debug)
- enable-https, e: true/false for using HTTPS. When using HTTPS the below options must be set
- tls-key, k: key file location inside the docker container
- tls-certificate, cert: Certificate location inside the docker container
Dockerfile
vim registries.yml # add your registry docker run --detach --name docker-registry-manager -p 8080:8080 -e MANAGER_PORT=8080 -e MANAGER_REGISTRIES=/app/registries.yml -e MANAGER_LOG_LEVEL=warn docker-registry-manager firefox localhost:8080
Environment Options:
- MANAGER_PORT: Port to run on inside the docker container
- MANAGER_REGISTRIES: Registries.yml file location inside the docker container
- MANAGER_LOG_LEVEL: Log level for logs (fatal, panic, error, warn, info, debug)
- MANAGER_ENABLE_HTTPS: true/false for using HTTPS. When using HTTPS the below options must be set
- MANAGER_KEY: key file location inside the docker container
- MANAGER_CERTIFICATE: Certificate location inside the docker container
Registries.yml Example
registries: localRegistry: displayname: registry.example.com:5000 url: http://localhost # Example https://localhost, http://remotehost.com port: 5000 # Example: 443, 8080, 5000 username: exampleUser password: examplePassword refresh-rate: "5m" # Example: 60s, 5m, 1h skip-tls-validation: true # REQUIRED for self signed certificates dockerhub-integration: true # Optional - compares to dockerhub to determine if image up to date
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK