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
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
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.
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.)
si vous utilisez la distribution Fedora, vous pouvez modifier le fichier
/etc/containers/registries.conf
Ajout de domaine docker.io
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>"
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?