Copie d'un registre via un proxy avec Skopeo
Configurez le processus Skopeo pour un registre source proxifié et une destination interne directe, y compris les images multiplateformes.
Une machine qui atteint un registre externe via un proxy peut copier une image dans un registre interne avec Skopeo. Configurez le processus qui effectue la copie :
export HTTP_PROXY=http://proxy.example.net:8080
export HTTPS_PROXY=http://proxy.example.net:8080
export NO_PROXY=registry.internal.example
skopeo copy --all \
docker://registry.public.example/team/image:stable \
docker://registry.internal.example/team/image:stable
Les noms de registres et la référence d'image sont des exemples. La source passe par le proxy ; le registre interne correspond à l'entrée de contournement. Pour une copie autorisée depuis une source publique sans identifiants de proxy configurés, la liste de proxys HTTP peut fournir des points de terminaison HTTP candidats tant que ce contournement interne reste en place. Ajustez cette entrée au nom d'hôte de destination réellement utilisé par la commande.
docker:// est le nom de transport d'image pour les références de registre. Cela ne signifie pas que la copie est déléguée à un démon Docker local. Le transport HTTP de registre de Skopeo utilise la découverte de proxy de l'environnement, sauf si une application hôte fournit explicitement une autre URL de proxy.
--all compte lorsque la référence source sélectionne un index d'images ou une liste de manifestes multiplateforme : il demande de copier toutes les images référencées. Sans ce choix, une copie peut sélectionner une image pour la plateforme courante au lieu de reproduire la référence multiplateforme complète.
Après la copie, les machines en aval peuvent utiliser la référence d'image du registre interne. Leur capacité à la récupérer dépend de leur route vers ce registre ; elles n'héritent pas de l'environnement du processus qui a effectué la copie.