it-swarm.com.de

docker-Maschine hinter Firmenvertreter

Ich versuche, eine Docker-Maschine zum Erstellen einer Instanz in einer privaten Cloud (Openstack) zu verwenden, die sich hinter einem HTTP-Proxy eines Unternehmens befindet. 

Ist es möglich, Docker-Maschinen mitzuteilen, dass sie den Proxy verwenden sollen, oder muss ich ein Bild haben, das bereits mit der http_proxy-env-Variablen vorkonfiguriert ist?

21
eighilaza

Mit der aktuellen Docker-Maschinenversion kann ich keine bessere Methode finden, um die Änderung vorzunehmen, als in boot2docker ( Docker/Boot2Docker: HTTP/HTTPS-Proxies für Docker unter OS X festlegen ).

Wenn Sie den Proxy manuell in/var/lib/boot2docker/profile in der Docker-Maschine festlegen, wird die Proxy-Einstellung nach dem Neustart automatisch entfernt. 

Also muss ich eine Docker-Maschine mit --engine-env für Proxy erstellen

docker-machine create -d virtualbox \
    --engine-env HTTP_PROXY=http://example.com:8080 \
    --engine-env HTTPS_PROXY=https://example.com:8080 \
    --engine-env NO_PROXY=example2.com \
    proxybox

ANMERKUNGEN:

Dies ist eine zwei Jahre alte Antwort. In .__ wurden viele Änderungen vorgenommen. Docker, also wenn Sie es immer noch nicht schaffen, dass es hinter dem Proxy funktioniert, bitte lese @ Senris Antwort .

Dokumentation: Docker-Maschine erstellen

21
BMW

Wie bereits erwähnt, können Sie die Datei unter bearbeiten

$HOME\.docker\machine\machines\default\config.json

und setzen Sie die Variablen HTTP_PROXY, HTTPS_PROXY und NO_PROXY (oder löschen Sie sie):

 "HostOptions": {
        "Driver": "",
        ...
        "EngineOptions": {
           ...
            "Env": [
              "HTTP_PROXY=http://10.121.8.110:8080",
              "HTTPS_PROXY=http://10.121.8.110:8080",
              "NO_PROXY=192.168.23.4"
            ],

Nachdem die Datei bearbeitet wurde, müssen Sie nur noch Folgendes ausführen:

docker-machine provision 
29
Senri

Die vorhandene Docker-Machine-Konfiguration kann geändert werden, um eine Umgebung für den Proxy hinzuzufügen. Die config.json unter $ HOME/.docker/machine/machines //. Config.json kann bearbeitet werden. 

Fügen Sie "HTTP_PROXY = http://example.com:8080 " zu Env in config.json hinzu. Starten Sie die Maschine neu und Sie sind fertig. 

5

Wenn Sie die Maschine (VM) bereits erstellt haben, können Sie den Proxy folgendermaßen konfigurieren:

1- SSH into the docker dev Host: docker-machine ssh dev
2- Add the following lines to /var/lib/boot2docker/profile (this file is read-only, use Sudo)
    export HTTP_PROXY=http://<proxy>:<port>
    export HTTPS_PROXY=http://<proxy>:<port>
3- Exit the ssh session and restart the docker machine: docker-machine restart dev 

Quelle

1
Abdelhafid

Ab Docker 18.09 können Sie Umgebungsvariablen wie Proxy für den Container in der Befehlszeile wie folgt angeben:

docker run --env HTTP_PROXY="172.10.13.14" -it myImage:latest /bin/bash

Außerdem können wir diese Einstellungen für den Docker-Client festlegen, indem Sie sie wie folgt in die ~/.docker/config.json-Datei schreiben:

{
 "proxies":
 {
   "default":
   {
     "httpProxy": "http://127.0.0.1:3001",
     "noProxy": "*.test.example.com,.example2.com"
   }
 }
}

Weitere Informationen finden Sie unter docs .

1
Fabulous