背景
- 今天需要用ES的映象,發現Docker Hub的映象已經廢棄了,換成了
docker.elastic.co
映象。 - 於是喜聞樂見得被牆了。。。
error pulling image configuration ... EOF
- 嘗試了下SS的全域性代理,發現沒有用
方案
- 利用Privoxy開個Http代理,將http請求轉發到Sock5,Docker for mac裡配置Http代理。
具體步驟
brew install privoxy
- 配置privoxy配置
vi /usr/local/etc/privoxy/config
- 增加一行,代表把所有匹配/的請求(也就是所有請求),以sock5協議轉發到
127.0.0.1:1080
,最後一個.代表不轉發到http代理forward-socks5 / 127.0.0.1:1080 .複製程式碼
- 將listen-address預設的
127.0.0.1
改為本機iplisten-address 10.15.232.101:8118複製程式碼
brew services start privoxy
- Docker for Mac的Proxy代理均配為上面的listen-address
- 至此,大功告成,可以愉快得拉映象了
坑
- 如果Docker for Mac的代理配成了
127.0.0.1:8118
那麼就會出現getsockopt: connection refused.
的錯誤。原因好像是docker命令實際上是執行在docker machine中的,也就是一個跑在Mac上的虛擬機器中,所以配成127.0.0.1就會嘗試走那臺機器的代理,所以會出錯。因此,需要配置成本機的真實ip,而不能是lookback address。今天被這個坑了2個小時,ಥ_ಥ
參考資料
版權宣告
- 自由轉載-非商用-非衍生-保持署名(創意共享3.0許可證)
- 本文首發於: czjxy881.coding.me/blog/2017/0…