Ich habe ein Docker-Register eingerichtet und ein Projekt mit dem Namen hellodocker
dort hineingeschoben. Auf einem anderen Rechner habe ich mich bei meinem Register angemeldet, aber beim Pull-Versuch muss ich den vollständigen Namen verwenden: mydockerregistry.com/hellodocker
.
Gibt es eine Möglichkeit, Docker so zu konfigurieren, dass meine Registrierung als Ort einbezogen wird, von dem es nicht gefundene Bilder herunterladen kann?
Antwort1
Ich würde es für diesen Zweck nicht empfehlen, aber Sie können die Docker-Engine mit einer Registry-Mirror-Einstellung konfigurieren. In der dockerd
CLI ist das das --registry-mirror
Flag. Oder Sie können in /etc/docker/daemon.json Folgendes festlegen:
{ "registry-mirrors": ["https://mydockerregistry.com"] }
Wenn Sie daemon.json konfigurieren, müssen Sie die Docker-Engine nach dem Anwenden der Änderung neu laden. In der Desktop-GUI ist dies eine Option auf dem Bildschirm. Unter Linux führen Sie aus systemctl reload docker
.
Dies ist mit zwei Einschränkungen verbunden:
Zuerst wird der Registry-Spiegel abgefragt, dann wird der Upstream-Docker-Hub bei einem Fehler nach einem Image abgefragt. Wenn der Spiegel mit einem fehlerhaften oder alten Image antwortet, wird die Docker-Engine es gerne verwenden.
Bilder ohne Repository-Präfix stammen aus der Docker-Bibliothek und es wird nach dem Spiegel
mydockerregistry.com/library/hellodocker
statt nach gesuchtmydockerregistry.com/hellodocker
. Daher müssen Sie Folgendes tun:docker tag hellodocker:latest mydockerregistry.com/library/hellodocker:latest docker push mydockerregistry.com/library/hellodocker:latest
Ich habe hier eine Präsentation zum Thema Spiegelung und Zwischenspeicherung, die für Sie vielleicht hilfreich ist: