Docker 使用网络代理
如果你也苦于GFW的阻塞,无法正常更新软件,并且在docker需要pull images时候发现无法下载Docker镜像,则可以部署 Squid代理服务 的 Squid父级socks代理 来实现代理翻墙,或者采用非常简便的 SSH Tunneling: 动态端口转发 实现socks5代理 。这里介绍如何配置docker客户端,以便能够通过代理(HTTP或者socks)加速镜像下载。
这个方法也使得容器内部能够不需要单独配置代理,直接通过代理服务器上网。
Docker客户端的Proxy
注意,Docker客户端配置是对创建的容器生效,也就是把代理环境变量配置注入到容器内部。
对于物理主机上的docker服务要实现镜像下载加速,需要配置 Docker服务器Proxy
Docker客户端支持使用代理服务器,主要有两种方式配置:
- Docker 17.07 和更高版本,可以配置 Docker 端自动传递代理信息给容器
- Docker 17.06 或 低版本,则需要在容器中设置相应的环境变量
配置Docker客户端
- 在Docker客户端,创建或配置 ~/.docker/config.json 设置以下json格式配置:
置Docker客户端 ~/.docker/config.json 可以为容器内部注入代理配置
{
"proxies": {
"default": {
"httpProxy": "http://192.168.7.152:3128",
"httpsProxy": "http://192.168.7.152:3128",
"noProxy": "*.baidu.com,192.168.0.0/16,10.0.0.0/8"
}
}
}
- 然后创建的新容器,在容器中的环境变量会自动设置代理
可以结合 远程服务器squid提供给本地局域网 配置Docker客户端,这样只需要远程服务器安装部署过一次 Squid代理服务 ,本地局域网Docker就可以简单实现翻墙代理,方便完成很多安装部署工作。
作者:Jeebiz 创建时间:2024-08-02 11:52
最后编辑:Jeebiz 更新时间:2024-11-27 12:52
最后编辑:Jeebiz 更新时间:2024-11-27 12:52