V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OpenWrt 是一个专门面向嵌入式设备的 Linux 发行版。你可以将 OpenWrt 支持的型号的嵌入式设备,比如各种路由器上的系统,换成一个有更多可能性可以折腾的 Linux 系统。
OpenWrt 官方网站
Jaeger
V2EX  ›  OpenWrt

求助 OpenWrt 中的 Docker 容器如何走代理?

  •  
  •   Jaeger · 116 天前 · 991 次点击
    这是一个创建于 116 天前的主题,其中的信息可能已经有所发展或是发生改变。

    OpenWrt 安装了 PassWall 启用了全局透明代理,局域网中的设备都可以正常走代理, ssh 进 OpenWrt 命令行测试也可以走代理,但是我发现 OpenWrt 设备中的 Docker 容器无法访问 github 之类的国外服务,有什么方式可以让所有 Docker 容器也走 PassWall 的透明代理吗?

    8 条回复    2024-01-02 19:20:33 +08:00
    qiaoqiao1235
        1
    qiaoqiao1235  
       116 天前   ❤️ 1
    最简单的是用 host 网络
    Turismo
        2
    Turismo  
       116 天前
    iptables 设置下防火墙转发 v2ray 有一个协议是支持同透明代理的
    shelken
        3
    shelken  
       116 天前
    「 ssh 进 OpenWrt 命令行测试也可以走代理,但是我发现 OpenWrt 设备中的 Docker 容器无法访问 github 之类的国外服务」这个感觉有什么遗漏的,这部分描述再清楚点,例如是特定容器不行还是所有都不行,「 ssh 进 OpenWrt 命令行测试也可以走代理」用什么命令和域名做的的测试
    Jaeger
        4
    Jaeger  
    OP
       116 天前
    @shelken #3 ssh 进 openwrt 命令行用 curl https://www.google.com/ 测试正常,但尝试在多个容器中执行同样的命令就没有反应,容器中 curl 国内网站响应正常,也尝试容器使用 host 模式,也还是无法访问 Google 之类的国外服务。

    难道跟我使用的翻墙插件 PassWall 有关系?大家的 openwrt 中的 docker 容器默认都能正常翻墙吗?
    Jaeger
        5
    Jaeger  
    OP
       116 天前
    @qiaoqiao1235 #1 我在网上查到的也是说用 host 模式,但试了一下没有效果,可能是 openwrt 那个地方的设置有问题
    Jaeger
        6
    Jaeger  
    OP
       116 天前
    @Turismo #2 感谢,我研究一下这个方案
    qiaoqiao1235
        7
    qiaoqiao1235  
       116 天前
    @Jaeger #5 passwall 需要开启本机代理(你的 ssh 下正常的话应该是开启了的,再检查下),然后要看 docker 下 dns 是否设置正确了,设置成系统 dns 。实在不行就贴防火墙规则看看。我也 openwrt 下 docker 用两年了,是 ok 的。
    shelken
        8
    shelken  
       116 天前 via iPhone
    @Jaeger 如果你的 passwall 有开 http 端口出来的话,在容器的环境变量里面加一个 https_proxy=http://路由器本机 ip:[代理软件 http 端口] ,重启容器后再试下。如果可以说明本身容器没走代理网络
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1010 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 19:13 · PVG 03:13 · LAX 12:13 · JFK 15:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.