Ich verwende docker-registry, um meine eigenen Docker-Images zu ziehen, aber ich möchte dies tun, ohne den Host angeben zu müssen. Bedeutung: anstatt zu schreiben:
%Vor%Ich möchte schreiben:
%Vor%und zuerst versucht es, das Andockfenster aus meiner privaten Registry zu ziehen, bevor ich versuche, es aus der öffentlichen Docker-Registry zu ziehen.
Ist es möglich?
Ich habe versucht, DOCKER_INDEX_URL
in [my_docker_registry_host]:[port]
zu ändern, aber es funktioniert nicht.
Nein, ich denke, es wird noch nicht unterstützt (1.1.2 als schreiben). Ich denke, die Hauptgründe sind
Die lokale private Registry ist nicht der Spiegel aus der öffentlichen Registry, daher ist es nicht logisch, dass wenn sie lokal nicht gefunden werden kann, sie öffentlich wird. Sie sind total verschieden.
Wenn wir also ein eigenes privates Docker-Repository einrichten, aber die gleiche Benennung beibehalten, wird es versauen.
Wenn Sie docker images
ausführen und ubuntu
sehen, woher wissen Sie, dass es aus Ihrer lokalen privaten oder öffentlichen Registry stammt.
UPDATE: Fügen Sie einen Beispielfall hinzu
Auch wenn wir eine Dockerfile
haben, setzen Sie die tomcatit verwenden tomcat7
als Basis
Woher weißt du, dass dieser Build stammt?
Wenn wir einen strikten Prozess oder eine strenge Kontrolle über die Zuordnung zwischen dem privaten Repo und dem öffentlichen Repo haben wollen, wird es kompliziert.
Technisch ist es möglich, aber gewinnen Sie weniger. Es verliert die Macht von Docker (Gemeinschaft)
Ähnliches gilt für ein anderes Paketsystem, das den eindeutigen Namen für das Paket verlangt.
Sie können Ihre /etc/sysconfig/docker
dann ändern Sie /etc/systemd/system/docker.service
oder /usr/lib/systemd/system/docker.service
Wenn Sie ein Bild ziehen, wird Docker es zuerst aus Ihrer privaten Registrierung ziehen und dann Docker-Hub, wenn es nicht in Ihrer privaten Registrierung gefunden wird. Ich arbeite an CentOS 7 Docker 1.12.
Tags und Links docker docker-registry