关于乌班图代理困惑很久的一个问题

查看 88|回复 11
作者:ltfree   
一台乌班图 22 版本的图形化电脑,准备用来跑程序(程序需要梯子)
在桌面系统安装了 clash 并且已经连上了外网(浏览器可浏览 google 油管等 且很丝滑)
然后我通过命令行搭建了 docker 准备跑程序(程序里需要连接外网的地方,均指定了 7890 端口,且在 windows 电脑测试正常),但连接外网一直失败
难道 shell 端和桌面端的代理不互通么?
哪位给小弟指点下,找了好多文档都不行
vituralfuture   
linux 的代理主要是设置环境变量,此外很多软件并不遵守环境变量,可以考虑用 tun 模式
vituralfuture   
设置下 export https_proxy=xxxxxxx 和 export http_proxy=xxxxxxxx 试试?
vituralfuture   
@vituralfuture 另外桌面软件的启动方式跟 cli 有所不同,导致他们获取到的环境变量也可能不一样,可以在终端 env 看看环境变量,然后 curl 一下 google 测试一下
设置代理的环境变量是
ltfree
OP
  
@vituralfuture http_proxy https_proxys
ltfree
OP
  
@vituralfuture 谢谢哥 之前已经设置了 无效
vituralfuture   
@vituralfuture 问题出在 docker 上面,不用 docker 跑的话,一切正常,用 docker 就连不上外网,不过原因没有找到,按道理来讲,容器内是没有什么限制的
ltfree
OP
  
@ltfree 试试容器传入代理的环境变量,代理服务器地址为 docker 网络中宿主机地址,端口为 clash 的代理端口,另外打开 clash 允许局域网连接
cdlnls   
@vituralfuture 好的 谢谢哥 我研究下这个 晚点回复
JensenQian   
在容器里面运行的程序,肯定是不会继承终端的环境变量信息的(HTTP_PROXY),要想容器里面也能用代理,那么应该在容器内也设置一个环境变量 HTTP_PROXY 。设置方法有两种,一种是在 dockerfile 里面写,一种是运行的时候使用-e 指定环境变量。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部