Comment changer le registre docker par défaut de docker.io à mon registre privé?

Par défaut, si je lance une commande:

sudo docker pull ruby:2.2.1 

il sera extrait du site officiel docker.io par défaut.

 Pulling repository docker.io/library/ruby 

Comment puis-je le changer pour mon registre privé? Cela signifie que si je publie

 sudo docker pull ruby:2.2.1 

il va tirer de mon propre registre privé, la sortie est quelque chose comme:

 Pulling repository my_private.registry:port/library/ruby 

MISE À JOUR: Suite à votre commentaire, il n’est actuellement pas possible de modifier le registre par défaut, voir ce numéro pour plus d’informations.

Vous devriez pouvoir le faire, en remplaçant l’hôte et le port par les vôtres:

 docker pull localhost:5000/registry-demo 

Si le serveur est distant / a auth, vous devrez peut-être vous connecter au serveur avec:

 docker login https://:8080 

Puis en cours d’exécution:

 docker pull :8080/test-image 

Il s’avère que c’est effectivement possible, mais sans utiliser la version Docker CE ou EE authentique.

Vous pouvez soit utiliser fork of docker de Red Hat avec l’indicateur ‘–add-registry’, soit créer vous-même docker à partir de la source avec registry / config.go modifié pour utiliser votre propre espace / index de registre par défaut.

Il semble qu’il ne sera pas supporté en raison de la fragmentation qu’il créerait dans la communauté (c.-à-d. Deux utilisateurs obtiendraient des images différentes tirant ubuntu:latest ). Vous devez simplement append l’hôte devant le nom de l’image. Voir ce numéro de github pour rejoindre la discussion.

(Remarque: ceci n’est pas conçu comme un commentaire d’opinion, juste un très bref résumé de la discussion qui peut être suivie dans le problème de github mentionné.)

Si vous utilisez la dissortingbution Fedora, vous pouvez changer le fichier

 /etc/containers/regissortinges.conf 

Ajout du domaine docker.io

Auparavant, ceci pouvait être réalisé en utilisant DOCKER_OPTS dans le fichier de configuration /etc/default/docker qui fonctionnait sur Ubuntu 14:04 et qui avait quelques problèmes sur Ubuntu 15:04. Je ne sais pas si cela a été corrigé.

La ligne ci-dessous doit aller dans le fichier /etc/default/docker sur l’hôte qui exécute le démon docker. Le changement de points vers le registre privé est installé sur votre réseau local. Remarque: vous devez redémarrer le service docker suivi de cette modification.

 DOCKER_OPTS="--insecure-registry :" 

N’a pas essayé, mais peut-être pirater le processus de résolution DNS en ajoutant une ligne dans /etc/hosts pour hub.docker.com ou quelque chose de similaire ( docker.io ?) docker.io fonctionner?