[Docker] 讓 Docker 透過 Proxy 連線

[Docker] 讓 Docker 透過 Proxy 連線

因為公司現在將建置專案用的機器,搬到 AWS 上面了,

因此最近都在 AWS 上面設定我們要用的一台 CentOS 機器,並在上面架 Docker。

 

但那台的 Docker 需要透過 Proxy 來存取公司內網的部分資源,

同時又要可以連到 AWS 上的 Docker 映象檔,

要怎麼做呢?

 

首先,要建立一個 docker.service.d 的目錄:

sudo mkdir -p /etc/systemd/system/docker.service.d

 

接著,在這目錄下新增一個 http-proxy.conf  的檔案,內容如下:

[Service]
Environment="HTTP_PROXY=http://aws-proxy.test.com:8080"
Environment="NO_PROXY=aws.registry.test.com"

 

上面是假定公司的 Proxy 是 http://aws-proxy.test.com:8080,

且要連上的 AWS Docker 映象檔位於 aws.registry.test.com。

接著,重新啟動 Docker 服務:

sudo systemctl daemon-reload
sudo systemctl restart docker

 

這樣子,Docker 平常就會透過 HTTP_PROXY 裡指定的 Proxy 伺服器來連線,

但在碰到 NO_PROXY 裡的位址時,就不使用 Proxy,直接連線。

就可以同時存取公司內部以及 AWS 上面的資源囉~

 

參考資料:How to configure docker to use proxy – The Geek Diary

(本頁面已被瀏覽過 42 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料