MacOS 下设置 Docker 代理
Contents
Docker 原生的只有 Linux 支持,其它系统都是通过在虚拟机里面跑一个 Linux 环境来构造 Docker 环境。当然其它也包括了 MacOS。 在正常的网络环境下,理论上也不会有太多的使用体验区别。但是很可惜,我们生活在一个网络环境并不正常的维度里!
先简单讲下我的环境:
- Mac OS 10.12.1 Sierra
- Docker 1.12.3 官网下载的图形界面版本(dmg格式安装的)
- brew 1.1.5
Docker 支持 http(s)_proxy 环境变量。 我装的是 libuv 版本的 ss ,只有 sock5 代理。为此需要一个能把 sock5 代理 转化为 http(s)_proxy 的工具:
安装 polipo :
|
|
配置 polipo:
|
|
内容:
|
|
最后2行很重要!docker 实际上是跑在一个虚拟机中,这里需要允许外部的连接进来,最后一个网段便是我虚拟内部的网段。具体的地址可以 通过下面的命令找出来:
|
|
启动 polipo:
|
|
看着哪个不是你的局域网网段的基本上就是了。
点击右上角的 Docker 图标,Preferences -> Advanced -> HTTPS PROXY 填上之前在 ifconfig 观察到的那个 ip 地址就行了。
若过程中遇到问题可以利用以下的命令测试 proxy server 是不是正常启动:
|
|
注意要填你局域网的网址,确定是可以通过外部的方式联接。
Author Klesh Wong
LastMod 2016-12-19