loading...

re: Économiser du temps et de la bande passante avec un cache Docker local VIEW POST

TOP OF THREAD FULL DISCUSSION
re: Super article, merci 👍. Cependant cette technique ne fonctionne qu'avec les images du registre publique de Docker (ce qui est déjà super), mais pa...
 

Salut 👋

Merci pour le compliment, je suis heureux que ça t'ait été utile !

Alors, je n'utilise pas de registry privé du tout (en tout cas pour l'instant), donc je ne suis pas 100% sûr que ce que je vais dire ensuite marche.

D'abord, chaque registre local ne peut servir de cache qu'à un seul autre registre. Du coup il faudra faire tourner un autre container avec une nouvelle configuration dedans.

Le proxy support l'utilisation d'un username + password (voir la doc:

proxy:
  remoteurl: https://registry-1.docker.io
  username: [username]
  password: [password]

Attention à ça, car il y a un risque en stockant un mot de passe dans un fichier. Idéalement il faudrait créer un compte dédié avec des droits limités.

Finalement, il est possible de passer plusieurs caches à docker:

{
    "registry-mirrors": ["http://localhost:5000", "http://cache-2"]
}

Donc peut-être qu'en configurant un cache par registry, et en les ajoutant tous au miroir ça marchera ?

 

Merci pour ton commentaire.

En fait, je voudrais cacher le téléchargement des images de Kubernetes, mais malheureusement, quand Docker voit une image qui a un nom de domaine devant (k8s.gcr.io dans ce cas si), il concidère que c'est un registre privé et donc ne passe plus par le(s) registre(s) spécifiés dans registry-mirrors.

J'ai trouvé cette image Docker qui permet de palier à ce problème en fournissant un proxy (squid) et un registre Docker: hub.docker.com/r/rpardini/docker-r....

Je n'ai pas encore réussi à la faire fonctionner correctement (j'ai un ticket en cours) mais l'image est prometteuse.

Code of Conduct Report abuse