如何为 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

posted @ 2022-07-23 19:56  不是豆豆  阅读(2689)  评论(0编辑  收藏  举报
友情链接:迷途