English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Hintergrund
In einigen Laborumgebungen haben Server keine direkte Verbindung zum Internet und benötigen einen Netzwerkproxy. Wir konfigurieren normalerweise den Netzwerkproxy direkt in/etc/environment,/etc/Profile und ähnliche Konfigurationsdateien, was für die meisten Operationen funktioniert. Allerdings können die Docker-Befehle diese Proxy nicht verwenden.
Beispielsweise beim Pull von docker pull müssen Sie das Bild von einem externen Netzwerk herunterladen, was zu folgendem Fehler führt:
$ docker pull hello-world Kann das Bild 'hello' nicht finden-world:latest' lokal Pulling repository docker.io/library/hello-world docker: Netzwerkzeitüberschreitung beim Versuch, https: zu verbinden//index.docker.io/v1/repositories/library/hello-world/images. Möglicherweise müssen Sie Ihre Internetverbindung überprüfen oder prüfen, ob Sie hinter einem Proxy sind.. Siehe 'docker run --help'.
ps: Dieser Artikel wurde auf Ubuntu16.04getestet und bestanden.
Lösung Eins:
Docker-Dienst stoppen, um manuell zu verwenden2375Docker Daemon wird mit Porten auf allen Netzwerkinterfaces gestartet.
$ systemctl stop docker.service $ nohup docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock &
Lösung二号:
Bearbeiten Sie die Konfigurationsdatei, unter Ubuntu ist/etc/default/docker, unter CentOS ist/etc/sysconfig/docker. Allerdings wird die Konfiguration des Daemons durch Änderung dieser beiden Dateien bereits abgeraten. Diese Methode wird nicht empfohlen.
HTTP_PROXY="http://[proxy-addr]:[proxy-port]/" HTTPS_PROXY="https://[proxy-addr]:[proxy-port]/" export HTTP_PROXY HTTPS_PROXY
Lösung drei:
Diese Methode ist dauerhaft und bleibt nach der Änderung aktiv. Diese Methode überschreibt die Standarddatei docker.service.
1. Ein eingebettetes systemd-Verzeichnis für den Docker-Dienst erstellen
$ mkdir -p /etc/systemd/system/docker.service.d
2. Erstellen/etc/systemd/system/docker.service.d/http-proxy.conf-Datei und fügen Sie die HTTP_PROXY-Umgebungsvariable hinzu. Dort wird [proxy-addr] und [proxy-port] entsprechend den tatsächlichen Proxy-Adressen und -Ports ändern:
[Service] Environment="HTTP_PROXY=http://[proxy-addr]:[proxy-port]/"HTTPS_PROXY=https://[proxy-addr]:[proxy-port]/"
3. Wenn es noch interne Docker-Registries gibt, die nicht über einen Proxy aufgerufen werden müssen, muss die NO_PROXY-Umgebungsvariable eingerichtet werden:
[Service] Environment="HTTP_PROXY=http://[proxy-addr]:[proxy-port]/"HTTPS_PROXY=https://[proxy-addr]:[proxy-port]/"NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"
4. Konfiguration aktualisieren:
$ systemctl daemon-reload
5. Docker-Dienst neu starten:
$ systemctl restart docker
Das ist der vollständige Inhalt dieses Artikels. Wir hoffen, dass er Ihnen bei Ihrem Lernen hilft und wir hoffen, dass Sie die呐喊教程 stark unterstützen.
Erklärung: Der Inhalt dieses Artikels wurde aus dem Internet übernommen und gehört dem jeweiligen Urheber. Der Inhalt wurde von Internetnutzern freiwillig beigesteuert und hochgeladen. Diese Website besitzt keine Eigentumsrechte und hat den Inhalt nicht manuell bearbeitet. Sie übernimmt keine rechtlichen Haftung. Wenn Sie verdächtige Urheberrechtsinhalte entdecken, freuen wir uns über eine E-Mail an: notice#oldtoolbag.com (Bitte ersetzen Sie # durch @, wenn Sie eine Meldung senden, und fügen Sie relevante Beweise bei. Bei nachgewiesener Täuschung wird diese Website den fraglichen Infringershinweis sofort löschen.)