配置docker使用 proxy

前言

docker使用proxy分兩種情況:

  • docker client希望使用代理,也就是在執(zhí)行docker pull、docker push等操作時通過代理來訪問鏡像倉庫
  • 容器實例希望使用代理,也就是在容器內(nèi)部希望通過代理來訪問網(wǎng)絡(luò)

兩者的配置顯然是不一樣,各自的官方文檔地址:

當(dāng)使用wsl2時:
WSL 2 Docker Behind Proxy.

一、配置client 代理(常規(guī)安裝方式)

1、創(chuàng)建配置文件

sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf

2、添加配置

[Service]
Environment="HTTP_PROXY=http://211.69.198.232:8118"
Environment="HTTPS_PROXY=http://211.69.198.232:8118"
Environment="NO_PROXY=localhost,127.0.0.1,docker-registry.example.com,.corp,211.69.198.232"

3、重啟容器

sudo systemctl daemon-reload
sudo systemctl restart docker

二、配置容器實例代理

方式一,配置文件(僅支持 Docker 版本 >= 17.07)

1、創(chuàng)建配置文件

vim  ~/.docker/config.json

2、添加配置信息

{
 "proxies":
 {
   "default":
   {
     "httpProxy": "http://211.69.198.232:8118",
     "httpsProxy": "http://211.69.198.232:8118",
     "noProxy": "*.test.example.com,.example2.com,127.0.0.0/8,211.69.198.232"
   }
 }
}
方式二,手動添加環(huán)境變量(僅支持 Docker 版本 >= 17.07)

通過 --env 在啟動容器時,添加對應(yīng)的環(huán)境變量:

Variable Dockerfile example docker run example
HTTP_PROXY ENV HTTP_PROXY="http://192.168.1.12:3128" --env HTTP_PROXY="http://192.168.1.12:3128"
HTTPS_PROXY ENV HTTPS_PROXY="https://192.168.1.12:3128" --env HTTPS_PROXY="https://192.168.1.12:3128"
FTP_PROXY ENV FTP_PROXY="ftp://192.168.1.12:3128" --env FTP_PROXY="ftp://192.168.1.12:3128"
NO_PROXY ENV NO_PROXY="*.test.example.com,.example2.com" --env NO_PROXY="*.test.example.com,.example2.com"
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容