forked from TrueCloudLab/distribution
Update Docker Hub README and keep it in sync with this repository.
This commit * adds a new docs page (`dockerhub.md`) that contains Docker Hub README * updates the default config that gets backed into the docker image * updates CI with a new workflow job that keeps Docker Hub README in sync with the contents of the `docs/dockerhub.md` file Co-authored-by: CrazyMax <github@crazymax.dev> Signed-off-by: Milos Gajdos <milosthegajdos@gmail.com>
This commit is contained in:
parent
735c161b53
commit
f2a72d7f77
3 changed files with 88 additions and 41 deletions
32
.github/dockerhub-readme.yml
vendored
Normal file
32
.github/dockerhub-readme.yml
vendored
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
name: dockerhub-readme
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- 'main'
|
||||||
|
paths:
|
||||||
|
- '.github/dockerhub-readme.yml'
|
||||||
|
- 'docs/dockerhub.md'
|
||||||
|
|
||||||
|
env:
|
||||||
|
DOCKERHUB_SLUG: distribution/distribution
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
update:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Update Docker Hub README
|
||||||
|
uses: peter-evans/dockerhub-description@v3
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
repository: ${{ env.DOCKERHUB_SLUG }}
|
||||||
|
readme-filepath: ./docs/dockerhub.md
|
|
@ -4,20 +4,6 @@ log:
|
||||||
fields:
|
fields:
|
||||||
service: registry
|
service: registry
|
||||||
environment: development
|
environment: development
|
||||||
hooks:
|
|
||||||
- type: mail
|
|
||||||
disabled: true
|
|
||||||
levels:
|
|
||||||
- panic
|
|
||||||
options:
|
|
||||||
smtp:
|
|
||||||
addr: mail.example.com:25
|
|
||||||
username: mailuser
|
|
||||||
password: password
|
|
||||||
insecure: true
|
|
||||||
from: sender@example.com
|
|
||||||
to:
|
|
||||||
- errors@example.com
|
|
||||||
storage:
|
storage:
|
||||||
delete:
|
delete:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
@ -37,33 +23,6 @@ http:
|
||||||
path: /metrics
|
path: /metrics
|
||||||
headers:
|
headers:
|
||||||
X-Content-Type-Options: [nosniff]
|
X-Content-Type-Options: [nosniff]
|
||||||
redis:
|
|
||||||
addr: localhost:6379
|
|
||||||
pool:
|
|
||||||
maxidle: 16
|
|
||||||
maxactive: 64
|
|
||||||
idletimeout: 300s
|
|
||||||
dialtimeout: 10ms
|
|
||||||
readtimeout: 10ms
|
|
||||||
writetimeout: 10ms
|
|
||||||
notifications:
|
|
||||||
events:
|
|
||||||
includereferences: true
|
|
||||||
endpoints:
|
|
||||||
- name: local-5003
|
|
||||||
url: http://localhost:5003/callback
|
|
||||||
headers:
|
|
||||||
Authorization: [Bearer <an example token>]
|
|
||||||
timeout: 1s
|
|
||||||
threshold: 10
|
|
||||||
backoff: 1s
|
|
||||||
disabled: true
|
|
||||||
- name: local-8083
|
|
||||||
url: http://localhost:8083/callback
|
|
||||||
timeout: 1s
|
|
||||||
threshold: 10
|
|
||||||
backoff: 1s
|
|
||||||
disabled: true
|
|
||||||
health:
|
health:
|
||||||
storagedriver:
|
storagedriver:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|
56
docs/dockerhub.md
Normal file
56
docs/dockerhub.md
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
# Distribution
|
||||||
|
|
||||||
|
This repository provides container images for the Open Source Registry implementation for storing and distributing container artifacts in conformance with the
|
||||||
|
[OCI Distribution Specification](https://github.com/opencontainers/distribution-spec).
|
||||||
|
|
||||||
|
<img src="https://raw.githubusercontent.com/distribution/distribution/main/distribution-logo.svg" width="200px" />
|
||||||
|
|
||||||
|
[![Build Status](https://github.com/distribution/distribution/workflows/CI/badge.svg?branch=main&event=push)](https://github.com/distribution/distribution/actions?query=workflow%3ACI)
|
||||||
|
[![OCI Conformance](https://github.com/distribution/distribution/workflows/conformance/badge.svg)](https://github.com/distribution/distribution/actions?query=workflow%3Aconformance)
|
||||||
|
[![License: Apache-2.0](https://img.shields.io/badge/License-Apache--2.0-blue.svg)](LICENSE)
|
||||||
|
|
||||||
|
## Quick start
|
||||||
|
|
||||||
|
Run the registry locally with the [default configuration](https://github.com/distribution/distribution/blob/main/cmd/registry/config-dev.yml):
|
||||||
|
```
|
||||||
|
docker run -d -p 5000:5000 --restart always --name registry distribution/distribution:edge
|
||||||
|
```
|
||||||
|
|
||||||
|
*NOTE:* in order to run push/pull against the locally run registry you must allow
|
||||||
|
your docker (containerd) engine to use _insecure_ registry by editing `/etc/docker/daemon.json` and subsequently restarting it
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"insecure-registries": ["host.docker.internal:5000"]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Now you are ready to use it:
|
||||||
|
```
|
||||||
|
docker pull alpine
|
||||||
|
docker tag alpine localhost:5000/alpine
|
||||||
|
docker push localhost:5000/alpine
|
||||||
|
```
|
||||||
|
|
||||||
|
⚠️ Beware the default configuration uses [`filesystem` storage driver](https://github.com/distribution/distribution/blob/main/docs/storage-drivers/filesystem.md)
|
||||||
|
and the above example command does not mount a local filesystem volume into the running container.
|
||||||
|
If you wish to mount the local filesystem to the `rootdirectory` of the
|
||||||
|
`filesystem` storage driver run the following command:
|
||||||
|
```
|
||||||
|
docker run -d -p 5000:5000 $PWD/FS/PATH:/var/lib/registry --restart always --name registry distribution/distribution:edge
|
||||||
|
```
|
||||||
|
|
||||||
|
### Custom configuration
|
||||||
|
|
||||||
|
If you don't wan to use the default configuration file, you can supply
|
||||||
|
your own custom configuration file as follows:
|
||||||
|
```
|
||||||
|
docker run -d -p 5000:5000 $PWD/PATH/TO/config.yml:/etc/docker/registry/config.yml --restart always --name registry distribution/distribution:edge
|
||||||
|
```
|
||||||
|
|
||||||
|
## Communication
|
||||||
|
|
||||||
|
For async communication and long-running discussions please use issues and pull requests
|
||||||
|
on the [GitHub repo](https://github.com/distribution/distribution).
|
||||||
|
|
||||||
|
For sync communication we have a #distribution channel in the [CNCF Slack](https://slack.cncf.io/)
|
||||||
|
that everyone is welcome to join and chat about development.
|
Loading…
Reference in a new issue