1. 程式人生 > >配置Docker的HTTP代理

配置Docker的HTTP代理

本文是 CHAOS整理而得,在此貼圖,記錄一下docker代理上網的問題,CHAOS的個人部落格:http://www.kalistudy.com/ 場景: 在公司想要上外網,必須走http代理,所以docker安裝完成後,想要去訪問外網,下載image,就必須設定代理。 比如搜尋image docker search webgoat-8.0 如果外網不同,會報錯
解決代理的方法,參考官網教程 簡單總結一下步驟 1、建立資料夾 sudo mkdir -p /etc/systemd/system/docker.service.d 2、建立配置檔案 cd /etc/systemd/system/docker.service.d touch http-proxy.conf 3、在http-proxy.conf中新增http代理 [Service] Environment="HTTP_PROXY=http://proxy.example.com:80/""NO_PROXY=localhost,127.0.0.1" 4、更新,使配置檔案生效 sudo systemctl daemon-reload
5、重啟docker服務 sudo systemctl restart docker 6、檢查配置是否生效 $ systemctl show --property=Environment docker 這時候,執行docker search hello-world,得到回顯如下
這是因為docker服務啟動時,建立了docker0這個虛擬網絡卡,預設使用在這個網絡卡去連線公司代理伺服器,這個網絡卡是無法連線到公司的代理伺服器的。 ifconfig回顯如下:
通過telnet 公司代理伺服器IP 埠,來驗證是否能聯通,如果不能聯通,就是確定是docker虛擬網絡卡的問題了。 解決方法是,down掉docker0 ifconfig docker0 down

此時再次執行telnet命令,確定能連通公司的代理伺服器 執行docker search hello-world,得到正確回顯
分享完畢。 Just For Fun!!