diff --git a/HowtoDocker.md b/HowtoDocker.md index a558a7a6..2c8caf91 100644 --- a/HowtoDocker.md +++ b/HowtoDocker.md @@ -418,6 +418,61 @@ debian stretch 5b712ae16dd7 3 days ago ## Utilisation avancée +### Docker registry + +Un _docker registry_ permet d'héberger des images Docker. + +On peut le déployer avec la _stack_ suivante : + +~~~ +version: "3.6" + +services: + + registry: + image: registry:2 + deploy: + replicas: 1 + restart_policy: + condition: on-failure + environment: + REGISTRY_HTTP_TLS_CERTIFICATE: /run/secrets/certificate + REGISTRY_HTTP_TLS_KEY: /run/secrets/certificate + REGISTRY_HTTP_ADDR: 0.0.0.0:5000 + volumes: + - registry:/var/lib/registry + secrets: + - certificate + ports: + - :5000:5000 + +volumes: + registry: + +secrets: + certificate: + file: certificate.pem +~~~ + +Attention, le certificat doit absolument être valide et le Common Name doit correspondre avec le nom utilisé pour y accéder. + +Lors d'un déploiement d'une stack existante, en cas d'erreur : + +~~~ +image registrydocker.example.com:5000/XXX could not be accessed on a registry to record +its digest. Each node will access registrydocker.example.com:5000/XXX independently, +possibly leading to different nodes running different +versions of the image. +~~~ + +Il peut s'agir de différents problèmes (réseau, SSL, etc…), Docker n'est pas très bavard sur la cause de l'échec. Un bon moyen de déboguer la situation est avec : + +~~~ +$ curl https://registrydocker.gestionportailsante.com:5000/v2/_catalog +~~~ + +La requête devrait retourner la liste des images hébergées au format json. + ### Swarm Swarm permet de mettre en communication plusieurs hôtes Docker afin d'en former