Par défaut, si j'émets la commande:
sudo docker pull ruby:2.2.1
il sera extrait du site officiel de docker.io par défaut.
Pulling repository docker.io/library/ruby
Comment puis-je le modifier dans mon registre privé. Cela signifie que si je publie
sudo docker pull ruby:2.2.1
il tirera de mon propre registre privé, la sortie est quelque chose comme:
Pulling repository my_private.registry:port/library/ruby
docker
docker-registry
mainframer
la source
la source
Réponses:
MISE À JOUR: Suite à votre commentaire, il n'est actuellement pas possible de modifier le registre par défaut, consultez ce problème pour plus d'informations.
Vous devriez pouvoir le faire, en remplaçant l'hôte et le port par les vôtres:
Si le serveur est distant / a une authentification, vous devrez peut-être vous connecter au serveur avec:
Puis en cours d'exécution:
la source
docker pull <YOUR-DOMAIN>:8080/test-image
c'était OK. Mais ce que je veux, c'estdocker pull test-image
, ce qui est sans spécifier le DOMAINE et le Port et sans connexion.@scopes
dans npm pour introduire de nouveaux espaces de noms sans conflit avec existant. Le fait d'inclure le nom d'hôte du registre dans le nom de l'image rend difficile la mise en cache / le proxy / le verrouillage du registre au sein d'une entreprise ou d'un projet. Cela le décrit bien: informit.com/articles/article.aspx?p=2464012&seqNum=3Il s'avère que c'est réellement possible, mais sans utiliser la version authentique de Docker CE ou EE.
Vous pouvez soit utiliser le fork du docker de Red Hat avec l'indicateur '--add-registry' ou vous pouvez créer vous-même le docker à partir des sources avec registry / config.go modifié pour utiliser votre propre espace de noms / index de registre par défaut codé en dur.
la source
--add-registry
cessé de fonctionner.--block-registry index.docker.io
option pour vous débarrasser du registre par défaut.--add-registry
demande d'extraction n'a pas été fusionnée . Cette fonctionnalité a finalement été refusée ( # 11816 ).si vous utilisez la distribution fedora, vous pouvez changer le fichier
Ajout de domaine docker.io
la source
--add-registry
. La fonctionnalité ne sera pas adoptée par Docker dans la demande d'extraction n'a pas été fusionnée . (également la fonctionnalité a finalement été refusée ( # 11816 ).Il semble qu'il 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
ubuntu:latest
). Vous devez simplement ajouter l'hôte devant le nom de l'image. Consultez ce numéro de github pour rejoindre la discussion.(Notez que cela ne se veut pas un commentaire d'opinion, juste un très bref résumé de la discussion qui peut être suivie dans le numéro de github mentionné.)
la source
J'ai essayé d'ajouter les options suivantes dans le fichier /etc/docker/daemon.json. (J'ai utilisé CentOS7)
après cela, redémarré le démon docker. Et cela fonctionne sans docker.io. J'espère que ce quelqu'un sera utile.
la source
--add-registry
demande d'extraction n'a pas été fusionnée .La position officielle de Docker est expliquée dans le numéro 11815 :
Red Hat avait une implémentation spécifique qui le permettait (voir réponse, mais elle a été refusée par le projet amont de Docker). Il s'appuyait sur l'
--add-registry
argument, qui était défini/etc/containers/registries.conf
sur RHEL / CentOS 7.la source
Auparavant, cela pouvait être réalisé en utilisant
DOCKER_OPTS
le/etc/default/docker
fichier de configuration qui fonctionnait sur Ubuntu 14:04 et 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 pointe vers le registre privé est installé dans votre réseau local. Remarque: vous devrez redémarrer le service docker suivi de cette modification.la source
J'ajoute à la réponse originale donnée par Guy qui est toujours valable aujourd'hui (bientôt 2020).
Remplacer le registre Docker par défaut, comme vous le feriez avec
maven
, n'est en fait pas une bonne pratique.Lors de l'utilisation
maven
, vous extrayez des artefacts du référentiel central Maven via votre système de gestion de référentiel local qui agira comme un proxy. Ces artefacts sont des bibliothèques brutes (jars) simples et il est peu probable que vous poussiez des fichiers jar du même nom.D'un autre côté, les images docker sont entièrement opérationnelles, exécutables, des environnements, et cela rend totalement sens de tirer une image du Docker Hub, de la modifier et de pousser cette image dans votre système de gestion de registre local avec le même nom, car c'est exactement ce que son nom dit, juste dans le contexte de votre entreprise. Dans ce cas, la seule distinction entre les deux images serait justement son chemin !!
D'où la nécessité de fixer la règle suivante: le préfixe d'une image indique son origine; par défaut, si une image n'a pas de préfixe, elle est extraite de Docker Hub.
la source
Vous n'avez pas essayé, mais peut-être que détourner le processus de résolution DNS en ajoutant une ligne
/etc/hosts
pourhub.docker.com
ou quelque chose de similaire (docker.io
?) Pourrait fonctionner?la source