Wie lade ich Docker-images, ohne mit dem pull-Befehl?
Gibt es eine Möglichkeit, die ich herunterladen kann ein Docker image/container verwenden, zum Beispiel, Firefox und nicht mit dem eingebauten docker-pull
.
Ich bin blockiert durch die Unternehmens-firewall und proxy, und ich kann nicht get Sie ein Loch durch Sie.
Mein problem ist, dass ich nicht verwenden können, Andockfenster erhalten, der Bilder, ist, dass die Docker save/pull und andere Andockfenster mitgelieferten Funktionen, da es durch eine firewall blockiert.
- können Sie browser-internet über einen proxy? Wenn Sie können, docker-support-proxy-server zu ziehen der Bilder.
- ich kann nicht erhalten Sie Zugang zu den docker-hub. Ich bekomme ein x509: Zertifikat signiert von unbekannten Behörde. Meine Firma sind mit zScaler als " man-in-the-middle-firewall
- Warum hast du mark eine Antwort als Lösung, die keine Lösung ist? Es sollte auch eine tatsächliche Lösung für das. Innerhalb docker im Grunde auch nur bedeutet http-downloads von Dateien in irgendeiner Form.
- Möglich, Duplikat der gewusst Wie: kopieren von docker-images von einem host zum anderen, ohne über-repository?
- Ich habe die Antwort als Lösung, denn es bezieht sich auf meine eigene Lösung, die ist unten in der Antwort. Auch in Hinblick auf die Falschheit der anderen Frage. Es gilt nicht, da die Lösung dort ist die Verwendung des andockfensters speichern option, die ich nicht nutzen konnte.
- Noch ist die akzeptierte Antwort war gut genug.
- Ich sehe, danke für die Antwort. Aus dem Frage-text, es scheint mir, dass das speichern/laden sollte für Sie arbeiten, da funktioniert es vollständig, um die firewall/proxy. Haben Sie versucht, die Einstellung http-proxy.conf-Datei für Ihr systemd docker-service? Wenn das hilft, mehr kann ich erstellen, eine Antwort.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur eine alternative - Das ist, was ich in meiner Organisation für couchbase Bild, wo ich war blockiert durch einen proxy.
Auf meinem persönlichen laptop (OS X)
Dann lud ich die komprimierte tar-ball zu Dropbox heruntergeladen und auf meinem Arbeits-Rechner. Für einige Grund, Dropbox geöffnet war 🙂
Auf meinem Arbeits-laptop (CentOS 7)
Referenzen
Musste ich einfach mit diesem Problem umzugehen, mich selbst herunterladen eines Bildes aus einer eingeschränkten Rechner mit Internet-Zugang, aber keine Docker-client für die Verwendung auf einer anderen Maschine beschränkt, mit der Docker-client, aber keinen Internet-Zugang. Ich habe meine Frage an die DevOps Stack Exchange-Standort:
Mit Hilfe des Docker-Community, ich war in der Lage, um eine Lösung zu finden für mein problem. Was folgt, ist meine Lösung.
Also, es stellt sich heraus, dass die Moby-Projekt hat ein shell-script auf der Moby GitHub-account die können laden Sie Bilder von Docker-Hub in einem format, dass importiert werden kann, in das Andockfenster:
Die syntax für das script ist die folgende:
Dann kann das Bild importiert und mit
tar
unddocker load
:Überprüfen, ob das Skript funktioniert wie erwartet, die ich heruntergeladen habe, ein Ubuntu-image aus dem Docker Hub geladen und es in das Andockfenster:
In der Praxis würde ich zunächst kopieren Sie die Daten aus dem Internet-client (die nicht nicht haben Docker installiert) an den Ziel - /Ziel-Maschine (die hat haben Docker installiert):
und dann laden und verwenden Sie das Bild auf dem Ziel-host:
Prüfen Sie zunächst, ob Ihre Docker-daemon wird so konfiguriert, dass der proxy. Mit boot2docker-und Andockfenster-Maschine, zum Beispiel, dies geschieht auf docker-Maschine erstellen, mit der
--engine-env
option.Wenn das ein Zertifikats-Problem (D. H., Firefox funktioniert der Zugang Docker Hub), versuchen Sie, und installieren Sie das Zertifikat:
Anderen workaround (nicht empfohlen) wäre Zugriff auf Docker Hub, ohne sich auf Zertifikat mit
--unsicher-registry
:Wenn die firewall aktiv blockiert alle Andockfenster ziehen, bis zu dem Punkt können Sie nicht einmal Zugang zu Docker Hub von Firefox, dann würden Sie brauchen, um
docker save
/Andockfenster Last
ein Bild-Archiv. Speichern Sie es von einer Maschine, wo Sie haben Zugriff auf Docker Hub (und wo die docker pull gelungen). Laden Sie es auf Ihrem Firmen-Maschine (nach Abstimmung der IT-system-Administratoren, natürlich).Hinweis: Sie können nicht einfach "nur" ein Bild downloaden, denn es basiert oft auf anderen Bildern, die Sie müssten, um den download zu. Das ist das, was
docker pull
für Sie tut. Und das ist das, wasdocker save
auch nicht (oder erstellen Sie ein Archiv, bestehend aus alle notwendigen Bilder).Den OP Ephreal fügt in den Kommentaren:
So, per definition, ein Docker pull-client-Befehl tatsächlich braucht, um zu sprechen, um einen Docker-daemon, denn der Docker-daemon baut Ebenen eins nach dem anderen für Sie.
Denken, es als eine POST-Anforderung - es verursacht eine mutation des Staates, in der Docker-daemon selbst. Sie sind nicht 'ziehen' etwas-über-HTTP, wenn Sie eine ziehen.
Können Sie ziehen alle die einzelnen Schichten über REST aus der Docker registry, aber eigentlich werden nicht die gleiche Semantik wie ein ziehen, da ziehen, ist eine Aktion, die speziell sagt dem Dämon, zu gehen und bekommen alle die Schichten für ein Bild, die Sie interessieren.
Angepasst ich ein python-script dafür, dass eine OS-unabhängige Lösung:
docker-ziehen
Wie das verwenden, und erstellen Sie ein TAR-Archiv, dass Sie werde in der Lage sein, zu importieren mit
docker load
:Anderen vielleicht eine option für Sie, wenn Sie Ihre Unternehmens-firewall (und Politik) können für die Verbindung zu einem SSH-server. In diesem Fall können Sie einfach richten Sie einen SSH-tunnel zu tunnel-Datenverkehr, um die Docker-registry durch.