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

1、创建并编辑配置文件

sudo mkdir -p /etc/systemd/system/docker.service.d
sudo vi /etc/systemd/system/docker.service.d/http-proxy.conf

2、写入以下配置

[Service]
Environment="HTTP_PROXY=192.168.1.1:10909"
Environment="HTTPS_PROXY=192.168.1.1:10909"
Environment="NO_PROXY=localhost,127.0.0.1"

3、重启 docker 服务

 sudo systemctl daemon-reload
 sudo systemctl restart docker

4、完成。检查配置

sudo systemctl show --property=Environment docker

 

另一个就是容器运行时需要加速

这个就没得绕了,有两种配置方式

参考: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 @   不是豆豆  阅读(2784)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
历史上的今天:
2021-07-23 在 WPF 中使用 BitmapImage 类时,要注意内存占用可能会持续走高的一个问题
友情链接:迷途


点击右上角即可分享
微信分享提示