您好,登錄后才能下訂單哦!
Docker容器中怎么設(shè)置網(wǎng)絡(luò)代理,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
設(shè)置環(huán)境變量
設(shè)置容器環(huán)境變量,這也是最直接的一種方式。啟動容器時,通過設(shè)置--env的flag,將環(huán)境變量傳入容器。
變量名 | Dockerfile示例 | Docker run示例 |
---|---|---|
HTTP_PROXY | ENV HTTP_PROXY "http://127.0.0.1:3001" | --env HTTP_PROXY="http://127.0.0.1:3001" |
HTTPS_PROXY | ENV HTTPS_PROXY "https://127.0.0.1:3001" | --env HTTPS_PROXY="https://127.0.0.1:3001" |
FTP_PROXY | ENV FTP_PROXY "ftp://127.0.0.1:3001" | --env FTP_PROXY="ftp://127.0.0.1:3001" |
NO_PROXY | ENV NO_PROXY "*.test.example.com,.example2.com" | --env NO_PROXY="*.test.example.com,.example2.com" |
這種方式的優(yōu)點就是直接,但缺點就是每次啟動容器,都需要顯示的設(shè)置,那么編譯一些項目就會遇到麻煩。比如kubevirt項目,會在代碼中啟動容器下載go項目,需要用到代理,那就必須手動找到啟動容器的位置,顯示加上以上的環(huán)境變量,增加了很多工作量。為了解決這種情況,在Docker 17.07以上,可以使用配置Docker客戶端的方式。
前置條件:Docker 17.07以上。
在啟動docker用戶的Home目錄,創(chuàng)建~/.docker/config.json
文件,增加http_proxy、https_proxy、ftp_proxy等的設(shè)置。當(dāng)然,也可以同時配置多個代理服務(wù)器。
對于不想使用no_proxy的路徑,也可以增加no_proxy的配置,no_proxy的內(nèi)容用逗號分隔,而且支持通配符*。
示例:
{ "proxies": { "default": { "httpProxy": "http://127.0.0.1:3001", "httpsProxy": "http://127.0.0.1:3001", "noProxy": "*.test.example.com,.example2.com" } } }
啟動容器,即可看到容器內(nèi)會被自動加入代理。
關(guān)于Docker容器中怎么設(shè)置網(wǎng)絡(luò)代理問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。