[LINUX] Docker unter Proxy-Umgebung

Onkel Docker.

Diesmal ** "Es stellt sich heraus, dass die Produktionsumgebung des Kunden nur über einen Proxy ins Internet gehen kann !!!" ** Ein Memo, um in einer solchen Situation nicht zu hetzen.

Installieren Sie Docker

Angenommen, Debian / Ubuntu.

Da es sich unter einer Proxy-Umgebung befindet, denke ich, dass das Folgende nicht normal übergeben wird, aber selbst wenn Sie die Umgebungsvariable "http_proxy" usw. mit "~ / .bashrc" festlegen, wird die Umgebungsvariable nicht vererbt, wenn Sie "sudo" ausführen, sodass sie nicht so übergeben wird, wie sie ist.

$ sudo apt-get install docker.io

Wenn Sie die Option "-E" zu "sudo" hinzufügen, wird sie übergeben, wenn Sie die Umgebungsvariable erben. Es ist jedoch schwierig, jedes Mal "-E" hinzuzufügen, sodass es einfacher ist, die apt-Einstellungsdatei als eine andere Methode zu schreiben.

:/etc/apt/apt.conf.d/00-proxy


Acquire::http::Proxy "http://{HOST}:{port}";
Acquire::https::Proxy "http://{HOST}:{port}";

Ich denke, RHEL / CentOS-Leute haben eine Einstellungsmethode für yum, also googeln Sie sie bitte entsprechend.

Docker Engine Wenn Sie das Image mit Docker Pull usw. löschen, müssen Sie den Proxy in Docker Engine festlegen.

Sie können einfach die Umgebungsvariable "HTTP_PROXY" "HTTPS_PROXY" festlegen, aber ich denke, dass dies die meiste Zeit mit Systemd funktioniert, sodass die Umgebungsvariable schnell in der Systemd-Konfigurationsdatei angegeben werden kann.

/lib/systemd/system/docker.service


[Service]
Environment=HTTP_PROXY=http://{HOST}:{port}
Environment=HTTPS_PROXY=http://{HOST}:{port}

Beim Erstellen eines Docker-Images

Nicht nur beim Erstellen eines Docker-Images, sondern wenn Sie mit "apt-get install" usw. ins Internet gehen möchten, müssen Sie für jedes Tool einen Proxy festlegen.

Da apt-get, pip usw. den Proxy nur durch Festlegen der Umgebungsvariablen durchlaufen, legen Sie die Umgebungsvariable vorerst fest und unterstützen Sie die Tools, die einzeln behandelt werden müssen. Sie können die Umgebungsvariablen in der Docker-Datei angeben, um die Umgebungsvariablen zum Zeitpunkt der Erstellung festzulegen. Es scheint jedoch besser, ARG zu verwenden.

Um beispielsweise Argumente in der Docker Compose-Konfigurationsdatei anzugeben, geben Sie die Service-Build-Option wie folgt an.

docker-compose.yml


  build:
    context: .
    args:
      - http_proxy=http://{HOST}:{port}
      - https_proxy=http://{HOST}:{port}
      - HTTP_PROXY=http://{HOST}:{port}
      - HTTPS_PROXY=http://{HOST}:{port}

Je nach Werkzeug kann der Name der entsprechenden Umgebungsvariablen oben oder unten sein, daher ist es besser, beide anzugeben.

json:~/.docker/config.json


{
  "proxies": {
    "default": {
      "httpProxy": "http://{HOST}:{port}",
      "httpsProxy": "http://{HOST}:{port}"
    }
  }
}

Configure Docker to use a proxy server | Docker Documentation

Recommended Posts

Docker unter Proxy-Umgebung
Pip-Installation (Windows) unter Proxy-Umgebung
Wenn pip in einer Proxy-Umgebung ausfällt
Docker und PyCharm unter Proxy in Windows
Verwendung von Tensorflow unter Docker-Umgebung
Umgebungskonstruktion: GCP + Docker
Proxyserver mit Docker
Verwendung von pip3 in einer Proxy-Umgebung Hinweis
Verwenden Sie das AWS SDK für Python (boto) in einer Proxy-Umgebung
Pip-Installation in einer Proxy-Umgebung
Bereiten Sie die Python3-Umgebung mit Docker vor
Erstellen einer Python-Umgebung unter Windows 7
Führen Sie Eclipse in einer Docker-Umgebung (noVNC) aus.
Erstellen Sie mit Docker eine Go-Umgebung
Erstellen Sie eine MySQL + Python-Umgebung mit Docker
Python Memo Pip unter Proxy, easy_install
Umgebung
[Linux] Aufbau einer Docker-Umgebung auf Redhat
Code-Server-Online-Umgebung (5) Starten Sie den Code-Server auf Docker
Erstellen Sie die Entwicklungsumgebung von Django mit Docker neu! !! !! !!
[Docker] Python3.5 + Numpy + Matplotlib-Umgebungskonstruktion
Verwenden Sie den Befehl pip in einer HTTP-Proxy-Umgebung, für die eine Authentifizierung erforderlich ist
Ausführung des Pip-Befehls unter Proxy (Denkmal)
Erstellen Sie mit Docker eine Jupyter Lab (Python) -Umgebung
Verwenden Sie smbus mit python3 in einer pyenv-Umgebung
Verwenden von venv in der Windows + Docker-Umgebung [Python]
So erstellen Sie eine NVIDIA Docker-Umgebung
Ich habe mit Docker eine Anaconda-Umgebung erstellt!
Erstellen Sie mit Docker eine Python + uWSGI + Nginx-Umgebung
Erstellt Ubuntu, Python, OpenCV-Umgebung auf Docker
[Linux] Erstellen einer Jenkins-Umgebung mit Docker
Installieren Sie Python3 mit Pythonz in einer Macports-Umgebung
Einführung in Docker Erstellen einer Ubuntu-Umgebung in Ubuntu
Verwenden Sie WebDAV in einer Portable Docker-Umgebung
Erstellen Sie mit Docker eine Umgebung aus NGINX + NGINX Unit + MySQL
[Linux] Aufbau einer Docker-Umgebung mit Amazon Linux 2