Testovací Docker registry

Pro účely vývoje je na serveru iam-rpmrepo.bcv nasazeno testovací Docker registry. Deployment je popsán playbookem dockerregistry.yml.

Zde popsané nasazení je určeno pro vývojové účely a není z pohledu zabezpečení správně. Pro produkční provoz je použito registry na Nexusu repo.iamappliance.com:8443, jeho dokumentace je interním materiálem.

Table 1. Credentials

server

iam-rpmrepo.bcv

port

8081

protokol

https

uživatel

dockeruser

heslo

obvyklé (kdyžtak na vyžádání nebo v playbooku)

Zprovoznění na klientovi

Registry používá self-signed https certifikát, který je nutné Docker démonovi natrustovat. Trustování se provede vložením do správného adresáře v konfiguraci Dockeru. Soubor dockerregistry.crt je možné získat z repozitáře s playbooky, vykopírovat si z iam-rpmrepo.bcv, nebo stáhnout z endpointu registry např. s pomocí openssl …​.

Docker démona není nutné restartovat.

mkdir -pv /etc/docker/certs.d/iam-rpmrepo.bcv:8081/
cp dockerregistry.crt /etc/docker/certs.d/iam-rpmrepo.bcv\:8081/ca.crt

Používání registry

Do registry je možné nahrávat image a nebo je z něj stahovat. Pracuje se s ním stejně jako s oficiálním Docker registry, ale do tagu image se přidává adresa. Následující příklad ukazuje stažení základního hello-world image a jeho nahrání do našeho registry.

docker pull hello-world
docker tag hello-world:latest iam-rpmrepo.bcv:8081/hello-world
docker login iam-rpmrepo.bcv:8081
docker push iam-rpmrepo.bcv:8081/hello-world

Registry je v2, proto ho nelze prohledat přímo přes docker search …​. Má ale REST API.

Vypsání imagů
curl -k --user dockeruser:***** https://iam-rpmrepo.bcv:8081/v2/_catalog
{"repositories":["bcv-czechidm","bcv-postgres","bcv-tomcat"]}
Vypsání tagů image (např. image bcv-czechidm)
curl -k --user dockeruser:***** https://iam-rpmrepo.bcv:8081/v2/bcv-czechidm/tags/list
{"name":"bcv-czechidm","tags":["10.6.3-r0"]}