Kann ich Docker so konfigurieren, dass es in meinem Register nach Bildern sucht, ohne den Registernamen anzugeben?

Kann ich Docker so konfigurieren, dass es in meinem Register nach Bildern sucht, ohne den Registernamen anzugeben?

Ich habe ein Docker-Register eingerichtet und ein Projekt mit dem Namen hellodockerdort 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 dockerdCLI ist das das --registry-mirrorFlag. 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:

  1. 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.

  2. Bilder ohne Repository-Präfix stammen aus der Docker-Bibliothek und es wird nach dem Spiegel mydockerregistry.com/library/hellodockerstatt nach gesucht mydockerregistry.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:

verwandte Informationen