在Docker容器中使用代理

我的主机服务器需要一个代理与外部世界交谈。 它在env中定义,如http_proxy=http://10.10.123.123:8080 https_proxy=http://10.10.123.123:8080 。 我运行一个图像tensorflow/tensorflow ,名为tf1容器。

tf1里面(通过执行到容器中),我想用pip安装一些像grpcio和tensorflow-serving-api这样的包,但是会出现networking错误。

我怎样才能使用容器内的主机的代理? 我已经尝试执行与-e选项,但由于低版本的docker,失败,所以我不知道它是否工作。

OS:CentOS 7.2,Docker:1.12.3

我build议使用代理是安装一个工具,透明地将所有stream量路由到代理。 一个stream行的Linux工具是redsocks 。

Redsocks可以安装在主机上,如图所示。 如果你不想手动安装,还有一个docker镜像来获得redsocks 。

一旦安装了redsocks,来自主机或容器的所有stream量都将被redirect到代理,并且不需要再configuration代理envvariables。