-
Notifications
You must be signed in to change notification settings - Fork 8.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docker无法正常使用代理 #188
Comments
您好,确定本地代理协议是https吗?我头一次见本地代理用https协议的…… |
另外不是wsl吧? |
如果是windows,--net=host就失效了,wiki里面有人给了别的方案 |
用的是Ubuntu 20.04.1 服务器 |
“python3 check_proxy.py 也能正常显示出代理” 这不对吧,main.py和check_proxy.py检查代理调用的是同一个函数,怎么会出不同的结果呢?/(ㄒoㄒ)/~~ |
main.py和check_proxy.py都是可以使用代理,docker就无法使用 |
那我就有点蒙了,有没有可能docker设置了某种安全策略禁用了--net=host? |
或者你已经在docker内部了,你实际上在docker in docker嵌套? |
我也遇到了类似情况, 使用指定端口做expose就可以, --net=host就不行 |
我在宿主机运行
然而使用docker运行
尝试在 |
此问题已解决,需要在build镜像之前修改 |
这个dockerfile可以简化配置的流程,直接把秘钥和代理信息塞进Dockerfile里面 @AllenXiao95 @FR13ndSDP @water-root @SadPencil
|
密钥,不是秘……调一下输入法把错误的词删了吧 |
从dockerfile里写死 API 密钥不是最佳做法(违反了参数变动不改动image的传统),跟docker配合的情况下更佳的做法是通过环境变量读取配置。编写entrypoint.sh文件获取设置的API密钥然后动态写入config文件。 |
如果有需要我可以做个PR,把你这个dockerfile改成最通常的环境变量做法 |
通过args方式传递参数可能更好一点 |
@AllenXiao95 主流的设计原则是,敏感参数要么从 tty 直接读要么环境变量要么文件,不能从命令行参数读入 |
这样呀~ 不过在windows上配置环境变量真的是很难受,而且在git bash和在cmd配置环境变量的命令还不一样…… |
另外之后应该可以设计成按照一定的优先级,依次读取 argparse,环境变量,config_private 和 config
|
@binary-husky 不应使用 argparse 读取敏感信息。就好比 mysql 的 client 可以通过 tty (指定 -p 参数后从 tty 读) 或环境变量读取密码,但绝不会提供命令行参数读取密码的功能一样。 |
docker初学者,我在使用docker构建时也发生了该问题,原因是在配置代理地址时使用的是localhost,此时无法跳出docker的网络连接到宿主机,应该将之改为host.docker.internal,此时docker内部程序可以访问宿主机的代理端口 |
这个特殊的 DNS 名称目前仅适用于 Docker for Mac 和 Docker for Windows,并不适用于所有环境。 |
不使用docker的本地部署可以正常使用代理。使用docker后无法正常使用代理,但curl google是可以的,python3 check_proxy.py 也能正常显示出代理
The text was updated successfully, but these errors were encountered: