docker使用代理拉取映象的配置

abin1703發表於2020-11-20

前言

在無法直接訪問外網的情況下,需要透過配置代理proxy才可以進行訪問
Linux的配置如下:
1.修改/etc/profile檔案

leafpad /etc/profile

新增:

http_proxy=http://代理IP/域名:埠
https_proxy=http://代理IP/域名:埠
ftp_proxy=http://代理IP/域名:埠
export http_proxy https_proxy ftp_proxy

2.使配置生效

source /etc/profile

這對於大部分操作都是可行的,然而docker命令卻使用不了這些代理。比如docker需要從外網下載映象時,就會出現如下錯誤:

docker: Error response from daemon: Get net/ http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
See ‘docker run --help’.

解決方法

1 為docker服務建立一個內嵌的systemd目錄和conf檔案

mkdir -p /etc/systemd/system/docker.service.d
vi /etc/systemd/system/docker.service.d/http-proxy.conf

2 新增環境變數

[Service]
Environment=“HTTP_PROXY=”
Environment=“HTTPS_PROXY=”
Environment="NO_PROXY=localhost,127.0.0.1 "

注意事項: HTTPS_PROXY後的proxy url也是http開頭,而不是https,否則會報錯

3 檢視環境變數

systemctl show --property=Environment docker

4 更新配置並重啟服務

systemctl daemon-reload
systemctl restart docker


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30345407/viewspace-2735623/,如需轉載,請註明出處,否則將追究法律責任。

相關文章