如何为 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
输了你,赢了世界又如何...
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
2021-07-23 在 WPF 中使用 BitmapImage 类时,要注意内存占用可能会持续走高的一个问题