如何解决如何将Docker容器连接到本地计算机上的Tor代理?
我想通过本地机器上的tor代理从docker容器内部ping一个网站。如果不设置代理,则无法ping通。当我使用以下容器运行容器时:sudo docker run --rm -it -p9150:9150 my-container
我收到以下错误:Error starting userland proxy: listen tcp 0.0.0.0:9150: bind: address already in use.
我在localhost:9150上启动了tor-browser,但在运行容器时无法执行端口转发。我也不想在命令中使用--net=host
。我添加了以下行Environment="ALL_PROXY=socks5://127.0.0.1:9150"
至/lib/systemd/system/docker.service
,但未发声。有人可以帮我吗? (操作系统:Ubuntu 20.04)
解决方法
经过长时间的研究,我完成了以下步骤:
- sudo docker pull dperson / torproxy
- sudo docker网络创建器
- sudo docker run --rm -it --name mytor --network tor -p9050:9050 dperson / torproxy
- sudo docker run --rm -it --network tor myapp
在myapp内部,我有一个python脚本,该脚本通过tor袜子代理将消息发送到我的电报频道。我有一个网络(tor),并且两个容器都可以通过它互相看到。在python脚本中,我有以下内容:bot = telegram.Bot(token=token,request=Request(con_pool_size=10,connect_timeout=40,proxy_url='socks5h://mytor:9050'))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。