docker翻墙代理下载镜像

6-28 11,720 views

一开始测试了ssh反向代理,然后配合tsocks做程序的socket v5 的代理,结果行不通,apt-get ,docker pull 都是用的http_proxy的代理。 没办法,自己就搭建了一个squid 代理。


添加http代理

在国内,pull或push的时候经常连不上docker.com(原因你懂的,或者在公司内部统一用一个代理上网的时候),可以在docker daemon进程启动的时候加个代理,例如,


docker貌似是不识别http_proxy, https_proxy和no_proxy环境变量的,因此要在命令行里指定,参考 Github Issue #402 Using Docker behind a firewall。
如果在命令行里指定了HTTP_PROXY,则要unset掉http_proxy和https_proxy环境变量。

原因是:
首先, docker daemon进程是通过http协议与docker.com通信的
其次,docker的各种命令(例如 run, login等)也是通过http协议与docker daemon进程通信的(发送jasn字符串,daemon进程返回的也是json字符串),有时候docker客户端命令貌似能识别http_proxy变量,这时,客户端发送一个命令,路径是localhost->http_proxy->daemon进程,daemon进程返回的数据,路径是 daemon进程->proxy->proxy->localhost,其中,从proxy->localhost的路径是不通的,因为proxy连接不了内网IP。
之所以把这一步放在本文开始,是因为这一步不做的话,后面很多命令会出错,让人摸不着头脑,我在这里就掉进坑了,花了很长时间才搞明白,原来是网络连接不稳定。



对Python及运维开发感兴趣的朋友可以加QQ群 : 478476595 !!!
{ 2000人qq大群内有各厂大牛,常组织线上分享及沙龙,对高性能及分布式场景感兴趣同学欢迎加入该QQ群 }

另外如果大家觉得文章对你有些作用!   帮忙点击广告. 一来能刺激我写博客的欲望,二来好维护云主机的费用.
如果想赏钱,可以用微信扫描下面的二维码. 另外再次标注博客原地址  xiaorui.cc  ……   感谢!

docker下计划任务crontab的使用方法[python]

今天聊下在docker怎么合理的使用crontab 。  一直没有注意在docker如何使用crontab计划任务,我曾经已经不能用,所以用的是dockerfile定义的启动脚...

阅读全文

docker运维平台之python解析Dockerfile配置

最近有些想法,出于寂寞… 最近看docker群里不少人在写docker运维平台。 话说,我自己也有些手痒痒了,打算搞一个开源的简单的docker平台。  ...

阅读全文

docker无法用exec进入容器的问题[cannot allocate memory]

今同事小飞飞遇到一个坑爹的问题,可乐死我了….  我发现他们组docker用的量也不少,但是经常出问题….    这次是无法使用docker...

阅读全文

发表评论