如何为 docker 配置代理以提升访问速度或解决不可访问的问题
首先需要准备一个 http 的代理服务,这个具体细节好像不能细说
在 docker 环境下,有现成的镜像可用:
https://hub.docker.com/r/v2fly/v2fly-core
利用镜像可以搭建一个代理服务出来,v*ray 的服务端和客户端是一个,所以用 core 的镜像,放什么配置就是什么
具体 config.json 如果没有编写经验,可以通过随便什么本地的 v*ray 客户端生成后,复制到服务器上
要记得 docker 只能使用 http 的代理服务,所以要配置并记录好 http 的端口
使用以下命令进行部署(请注意需要自行修改对应端口以及星号部分):
docker run -d -p 1080:1080 \ -v /home/v2fly/config.json:/etc/v*ray/config.json \ --name v2fly v2fly/v2fly-core
即可获得一个在 docker 环境运行的 v*ray 客户端了
然后再说为 docker 配置代理
一个是为容器镜像拉取加速,这个其实更推荐使用镜像站,更稳定(可参考:https://www.cnblogs.com/xwgli/p/12287556.html)
在此不再赘述,有需要的可参考官方文档:https://docs.docker.com/config/daemon/systemd/#httphttps-proxy
另一个就是容器运行时需要加速,这个就没得绕了,有两种配置方式
参考:https://docs.docker.com/network/proxy/
1、全局配置
创建或编辑:~/.docker/config.json 文件
内容修改如下:
{ "proxies": { "default": { "httpProxy": "http://192.168.1.12:3128", "httpsProxy": "http://192.168.1.12:3128", "noProxy": "*.test.example.com,.example2.com,127.0.0.0/8" } } }
此配置会在创建新容器时自动配置在新容器中
2、单个容器运行时配置,为容器配置以下环境变量即可
docker run -d \ -e HTTP_PROXY="http://192.168.1.12:3128" \ -e HTTPS_PROXY="https://192.168.1.12:3128" \ -e NO_PROXY="*.test.example.com,.example2.com" \ --name xxx xxx/xxx:latest
比较推荐这种方法,这样只需要在需要的容器中配置即可,不会导致全局都被代理
参考自:https://www.cnblogs.com/michael9/p/12300824.html
输了你,赢了世界又如何...