Ce document ne contient que les étapes minimales pour la mise en place d'un registre
Docker privé. Pour des raisons de simplicité, ce registre est configuré sans mot de
passe. Cette mise en place n'est donc pas adaptées à un environnement de production.
Deux approches sont possibles pour accéder au registre :
Accès simple avec Nginx
Accès recommandé avec HAPRoxy
Dans le cadre de ce projet, il est recommandé de mettre un place un registre sur chaque
load balancers pour y accéder via une l'addresse IP virtuelle.
Le terme registry_host correspond à la machine qui gère le registre Docker.
Il faut ensuite modifier le fichier /etc/nginx/sites-available/default afin de
rediriger les requêtes sur le port 5000 de notre registre ainsi qu'ajouter des headers.
Pour cela, il faut modifier le contenu du bloc location /
Cette section est une configuration alternative pour une situation où l'on souhaite
installer notre registre Docker sur la même machine qui gère HAProxy.
HAPRoxy peut être configuré afin d'accéder au registre Docker.
Modifier le fichier de configuration /etc/haproxy/haproxy.cfg pour y ajouter l'ACL et
backend ci-dessous.
Il est techniquement recommandé de définir plusieurs serveur dans le backend registry
afin de pouvoir toujours en accéder un si celui local n'est pas opérationnel. Néanmoins
j'ai choisi de partir du principe que si HAProxy fonctionne alors le registre de la même
machine fonctionne également.
# Install prerequisite packagessudoaptupdate
sudoaptinstall-yapt-transport-httpsca-certificatescurlsoftware-properties-common
# Add the Docker GPG key to the systemcurl-fsSLhttps://download.docker.com/linux/ubuntu/gpg\|sudogpg--dearmor-o/usr/share/keyrings/docker-archive-keyring.gpg
# Add the repository to the APT sourcesecho"deb [arch=$(dpkg--print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release-cs) stable"\|sudotee/etc/apt/sources.list.d/docker.list>/dev/null
# Update the list of packages and install Dockersudoaptupdate
sudoaptinstall-ydocker-ce
# Add user to docker group to execute Docker without sudosudousermod-a-Gdocker$USER# Manually logout and login again to load the group change# You can also use the following commandsu-$USER
Vérifier que le service docker est démarré et activé