linux - 如何将 docker 容器连接到本地机器上的 Tor 代理?

标签 linux docker proxy 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
  • 须藤 docker 网络创建 Tor
  • sudo docker run --rm -it --name mytor --network tor -p9050:9050 dperson/torproxy
  • sudo docker run --rm -it --network tor myapp

  • 在 myapp 中,我有一个 python 脚本,它通过 tor socks 代理将消息发送到我的电报 channel 。我有一个网络(tor),两个容器都通过它看到对方。在 python 脚本中,我有以下行:bot = telegram.Bot(token=token, request=Request(con_pool_size=10, connect_timeout=40, proxy_url='socks5h://mytor:9050'))

    关于linux - 如何将 docker 容器连接到本地机器上的 Tor 代理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63636649/

    相关文章:

    docker - docker运行时带引号/不带引号的CMD之间的区别?

    在 Docker 上安装 Wordpress。试图跳过安装页面

    linux - srlua makefile 错误 lua.h No such file or directory

    linux - gcc 链接器巨型 bin 文件

    linux - 将作业添加到 crontab

    Firebase 托管上的 Angular 9 项目无法传递 https 请求

    node.js - 使用 nginx 的 Websocket 代理不适用于 tomcat。

    Linux:随机自动截图

    docker - 有谁知道如何将 docker 容器指向 ngrok?

    sockets - 从IE,Firefox和/或Chrome浏览器查看/监视TCP/IP套接字的最佳方法?