Docker 配置代理


Docker 配置代理

如果稍微了解docker的架構,會知道docker 只是客戶端, 管理,查看容器狀態docker ps/run 與容器建立連接docker exec 都是后台dockerd來完成的
所以客戶端和服務端是單獨的兩個進程,https_proxy docker pull 是不走代理的, 那有時候registry 在公司,怎么辦呢?

配置dockerd 走代理

很多人知道有 /etc/docker/daemon.json 文件可以配置很多選項,但唯獨不能配置https_proxy, 只有通過systemd service配置

  1. 創建目錄
sudo mkdir -p /etc/systemd/system/docker.service.d
  1. 創建文件
/etc/systemd/system/docker.service.d/http-proxy.conf
  1. 輸入以下內容
[Service]
Environment="HTTPS_PROXY=https://proxy.example.com:80/"

配置容器走代理

也就是配置容器內訪問internet時,走的代理

有兩種辦法:

  1. home目錄添加配置文件
cat ~/.docker/config.json

{
 "proxies":
 {
   "default":
   {
     "httpProxy": "http://127.0.0.1:3001",
     "httpsProxy": "http://127.0.0.1:3001",
     "noProxy": "*.test.example.com,.example2.com"
   }
 }
}

  1. 通過-e 傳環境變量實現


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM