Registry Image¶
Die Umsetzung möglichst auf Debian-System. Anm./Alternative: eigenes Docker-Registry-Tool dann z.B. mit Suse-System.
Ein offizielles Registry-Image lässt sich auf dem Docker Hub finden
und mit docker-compose
nachhaltig implementieren.
Für eine Ansprache der eigenen Docker Registry nutzen
wir z.B. hub.example.org
oder andere FQDNs nach Wahl.
Diese Adresse müssen wir natürlich auflösen lassen -
am einfachsten über die /etc/hosts
.
Tipp
Bei der Nutzung Hyper-V Default Switch erhält
man FQDNs und Namensauflösungen: hostname.mshome.net
.
Aber: keine echtes DNS und Routing!
Jetzt benötigen wir nur noch ein Docker Compose Verzeichnis
für die docker-compose.yml
und schon kann es losgehen.
Docker Compose Ordner anlegen
mkdir ~/docker/registry && cd $_
und in Ordner wechseln.
registry:
image: registry:2
container_name: registry
restart: always
ports:
- 5000:5000
volumes:
- /srv/docker/registry:/var/lib/registry
Und los geht es: docker-compose up -d
Damit jetzt auch der unsichere Zugriff auf die Registry möglich ist,
muss Docker über /etc/docker/daemon.json
entsprechend konfiguriert werden:
{
[ggf. Vorherige Einträge - diese Zeile weglassen;-)],
"insecure-registries": [ "hub.example.org:5000" ]
}
Testen der eigenen Registry:
docker pull ubuntu:16.04
docker tag ubuntu:16.04 hub.example.org:5000/ubuntu:16.04
# und jetzt pushen:
docker push hub.example.org:5000/ubuntu:16.04
# löschen der Images:
docker image rm ubuntu:16.04
docker image rm hub.example.org:5000/ubuntu:16.04
# und jetzt das Image aus eigener Registry holen:
docker pull hub.example.org:5000/ubuntu:16.04
Die genutzte Registry (quasi der Weg für das Image) erschließt sich also aus dem Image-Namen!
Hinweis
Ändern Sie den Namen der Registry muss man Anpassungen an Dockerfiles und docker-compose.yml-Dateien vornehmen!
Analyse des Registry-Containers:
docker exec registry ps aux
docker exec registry cat /etc/docker/registry/config.yml
Mit dieser config.yml
kann die Registry Konfiguration dann
auch angepasst/überschrieben werden.
Links zur Docker Registry: