390 Stimmen

Kann keine Docker-Images hinter einem Proxy herunterladen

Ich habe Docker auf meinem Ubuntu 13.10 (Saucy Salamander) installiert und wenn ich in meiner Konsole folgendes eingebe:

sudo docker pull busybox

erhalte ich den folgenden Fehler:

Repository busybox wird abgerufen
2014/04/16 09:37:07 Abrufen von https://index.docker.io/v1/repositories/busybox/images: Wählen Sie TCP: Zum Suchen von index.docker.io auf 127.0.1.1:53: keine Antwort vom Server

Docker-Version:

$ sudo docker version

Client-Version: 0.10.0
Client-API-Version: 1.10
Go-Version (Client): go1.2.1
Git-Commit (Client): dc9c28f
Server-Version: 0.10.0
Server-API-Version: 1.10
Git-Commit (Server): dc9c28f
Go-Version (Server): go1.2.1
Letzte stabile Version: 0.10.0

Ich bin hinter einem Proxy-Server ohne Authentifizierung, und das ist meine /etc/apt/apt.conf Datei:

Acquire::http::proxy "http://192.168.1.1:3128/";
Acquire::https::proxy "https://192.168.1.1:3128/";
Acquire::ftp::proxy "ftp://192.168.1.1:3128/";
Acquire::socks::proxy "socks://192.168.1.1:3128/";

Was mache ich falsch?

6voto

Mehdi Hamidi Punkte 69

In der neuen Version von Docker, docker-engine, in einer systemd-basierten Distribution, sollte die Umgebungsvariablenzeile zu /lib/systemd/system/docker.service hinzugefügt werden, wie es von anderen erwähnt wird:

Environment="HTTP_PROXY=http://hostname_or_ip:port/"

4voto

Da ich noch nicht erlaubt bin, Kommentare abzugeben:

Für CentOS 7 musste ich die EnvironmentFile innerhalb von "docker.service" aktivieren, wie hier beschrieben: Docker mit systemd steuern und konfigurieren.

Bearbeiten: Ich füge meine Lösung gemäß Nilesh hinzu. Ich musste "/etc/systemd/system/docker.service" öffnen und innerhalb des Abschnitts hinzufügen

[Service]

EnvironmentFile=-/etc/sysconfig/docker

Nur dann wurde die Datei "etc/sysconfig/docker" auf meinem System geladen.

4voto

btpka3 Punkte 3634

Wenn Sie einen Socks5-Proxy verwenden, hier ist mein Test mit Docker 17.03.1-ce mit der Einstellung "all_proxy", und es hat funktioniert:

# Richten Sie den Socks5-Proxy-Server ein
ssh sshUser@proxyServer -C -N -g -D \
     proxyServerIp:9999 \
     -o ExitOnForwardFailure=yes \
     -o ServerAliveInterval=60

# Konfigurieren Sie dockerd und starten Sie neu.
# HINWEIS: Verwendung von "all_proxy"
mkdir -p /etc/systemd/system/docker.service.d
cat > /etc/systemd/system/docker.service.d/http-proxy.conf <

3voto

user2280949 Punkte 37

Die komplette Lösung für Windows, um die Proxy-Einstellungen zu konfigurieren.

< user>:< password>@< proxy-host>:< proxy-port>

Sie können es direkt konfigurieren, indem Sie mit der rechten Maustaste auf Einstellungen klicken, im Docker-Symbol und dann auf Proxies.

Dort können Sie die Proxy-Adresse, den Port, den Benutzernamen und das Passwort konfigurieren.

In diesem Format:

< user>:< password>@< proxy-host>:< proxy-port>

Beispiel:

"geronimous:mypassword@192.168.44.55:8080"

Nichts weiter als das.

3voto

Um das Problem mit curl im Docker-Build zu lösen, habe ich Folgendes in die Dockerfile hinzugefügt:

ENV http_proxy=http://infoprx2:8080
ENV https_proxy=http://infoprx2:8080
RUN apt-get update && apt-get install -y curl vim

Beachten Sie, dass die ENV-Anweisung VOR der RUN-Anweisung steht.

Und um dem Docker-Daemon den Zugriff auf das Internet zu ermöglichen (ich verwende Kitematic mit boot2docker), habe ich Folgendes in /var/lib/boot2docker/profile hinzugefügt:

export HTTP_PROXY=http://infoprx2:8080
export HTTPS_PROXY=http://infoprx2:8080

Dann habe ich Docker mit sudo /etc/init.d/docker restart neu gestartet.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X