如何為 Docker 連接設置代理

docker 是一個流行的容器化平臺,它讓應用程序可以在操作系統層面上隔離運行,從而提供了更高的可移植性和可靠性。然而,在某些情況下,由于網絡環境等原因,需要為 docker 連接設置代理來確保正常運行。本文將介紹如何為 docker 連接設置代理。

  1. 設置 Docker daemon 代理

Docker daemon 是 Docker 的核心組件,它負責管理容器和鏡像等資源的生命周期。要為 Docker daemon 設置代理,需要編輯 Docker 配置文件 /etc/docker/daemon.json,添加 httpProxy 和 httpsProxy 字段:

{   "proxies": {     "default": {       "httpProxy": "http://proxy.hostname:port",       "httpsProxy": "http://proxy.hostname:port"     }   } }

其中,httpProxy 是 HTTP 代理地址,httpsProxy 是 HTTPS 代理地址。如果代理需要認證,可以添加 proxyUsername 和 proxyPassword 字段。

編輯完成后,重啟 Docker daemon 生效:

$ sudo systemctl restart docker
  1. 設置 Docker 客戶端代理

除了 Docker daemon,還需要為 Docker 客戶端設置代理。在 Linux 和 macOS 系統上,可以通過環境變量來設置代理:

$ export HTTP_PROXY=http://proxy.hostname:port $ export HTTPS_PROXY=http://proxy.hostname:port

在 Windows 系統上,可以在 Docker Desktop 設置中添加代理:

  1. 右鍵點擊 Docker Desktop 圖標,選擇 Settings。
  2. 點擊 Proxy 面板。
  3. 打開 Use the same proxy server for both HTTP and HTTPS protocols 選項,并填寫代理地址和端口號。
  4. 點擊 Apply & Restart 按鈕,使設置生效。
  5. 使用 Docker Compose 設置代理

Docker Compose 是 Docker 的另一個重要組件,它允許用戶通過 YAML 文件定義多個 Docker 容器的關系和配置。類似地,要為 Docker Compose 設置代理,需要在配置文件中添加環境變量:

services:   my-service:     environment:       - HTTP_PROXY=http://proxy.hostname:port       - HTTPS_PROXY=http://proxy.hostname:port

以上示例中,my-service 是一個 Docker 容器,它會從環境變量中讀取代理地址和端口號。

  1. 結束語

為 Docker 連接設置代理可以確保應用程序在受限網絡環境中正常運行。無論是 Docker daemon、Docker 客戶端、還是 Docker Compose,都可以通過簡單的配置來實現代理設置。在設置代理時,需要注意代理地址和端口號的正確性,以及代理是否需要認證等問題。

? 版權聲明
THE END
喜歡就支持一下吧
點贊10 分享