web-dev-qa-db-fra.com

Registre privé par défaut dans Docker

J'ai besoin de configurer mon propre registre privé dans Docker, pour généralement garder toutes les images Docker internes.

Pour rendre cela plus facile, je veux avoir une configuration en interne où mes images Docker sont appelées project/component, tout comme les images Docker normales à partir desquelles vous tirez https://index.docker.io/ .

Je suis certain que je ne récupérerai jamais d'images dans ce format depuis index.docker.io, toutes ces images proviendront de notre indexeur interne. Même les images au format imagename, comme centos seront extraites de notre référentiel interne.

Alors, existe-t-il un moyen pour moi de changer l'indexeur par défaut? Ou au moins changer mon indexeur privé du port 5000 en quelque chose qui est essayé par défaut; c'est-à-dire, pour récupérer des images de private_indexer.internal/repo_name au lieu de private_indexer.internal:5000/repo_name.

Mettre index.docker.io dans notre propre DNS pointant vers notre IP interne est-il la meilleure solution?

26
xeor

Vous pouvez utiliser private_indexer.internal/repo_name sans aucun problème. Exécutez simplement le conteneur de registre sur le port 80 (vous pouvez également ajouter un proxy inverse comme nginx ou hipache à l'avant et transmettre le trafic du port 80 à 5000). En ce qui concerne la première partie de la question pour modifier l'URL d'index par défaut, vous devrez probablement modifier le code du docker et recompiler. J'ai essayé de faire cela il y a quelques versions et cela a fonctionné, mais à l'époque il n'y avait pas de support de registre privé facile à utiliser comme maintenant. Donc, à mon humble avis, le mieux serait de s'en tenir à l'étiquetage de toutes les images privées avec une URL de registre privée. Ensuite, vous ne perdrez pas l'accès aux images de l'index public (ubuntu, busybox).

12
odk