web-dev-qa-db-fra.com

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

Par défaut, si je lance la 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 à 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
80
mainframer

UPDATE: Suite à votre commentaire, il n’est actuellement pas possible de changer le registre par défaut, voir ce problème pour plus d’informations.

Vous devriez pouvoir faire cela, en substituant l'hôte et le port à votre propre:

docker pull localhost:5000/registry-demo

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

docker login https://<YOUR-DOMAIN>:8080

Puis en cours d'exécution:

docker pull <YOUR-DOMAIN>:8080/test-image
40
Guy

Il se trouve que est réellement possible, mais n'utilise pas la version originale de Docker CE ou EE.

Vous pouvez utiliser le docker de Red Hat avec l'indicateur '--add-registry' ou vous pouvez créer vous-même le docker à partir de la source avec registry/config.go modifié pour utiliser votre propre espace de nom/index de registre par défaut codé en dur.

14
Josiah

Il semble que cela ne sera pas pris en charge en raison de la fragmentation qu'il créerait au sein de la communauté (c'est-à-dire que deux utilisateurs obtiendraient des images différentes en tirant ubuntu:latest). Vous devez simplement ajouter l'hôte devant le nom de l'image. Voir cette question github pour participer à la discussion.

(Remarque, il ne s'agit pas d'un commentaire d'opinion, mais simplement d'un très bref résumé de la discussion pouvant être suivie dans la question de github mentionnée.)

6
datacarl

si vous utilisez la distribution Fedora, vous pouvez modifier le fichier 

/etc/containers/registries.conf

Ajout de domaine docker.io

4

Auparavant, cela pourrait être réalisé en utilisant DOCKER_OPTS dans le fichier de configuration /etc/default/docker qui fonctionnait sous Ubuntu à 14:04 et avait quelques issues sous Ubuntu à 15:04. Pas sûr si cela a été corrigé.

La ligne ci-dessous doit être insérée dans le fichier /etc/default/docker sur l'hôte qui exécute le démon docker. Les points de modification du registre privé sont installés sur votre réseau local. Remarque: vous auriez besoin de redémarrer le service Docker suivi de cette modification.

DOCKER_OPTS="--insecure-registry <priv registry hostname/ip>:<port>"
2
askb

Vous n'avez pas essayé, mais peut-être détourner le processus de résolution DNS en ajoutant une ligne dans /etc/hosts pour hub.docker.com ou quelque chose de similaire (docker.io?) Pourrait fonctionner?

0
akavel