
宿主机的 socks5 假设是 40000 端口
目前解法是 docker run --network host ,但是这样变成所有端口映射了,不是想要的解法
如果 docker run -p 40000:40000 ,又会提示宿主机该端口占用
1 Andim 2023-06-20 16:23:46 +08:00 |
2 typeaudit 2023-06-20 16:34:26 +08:00 docker run --add-host=host.docker.internal:宿主机 IP 你在容器里面访问 host.docker.internal 即可。 |
3 typeaudit 2023-06-20 16:35:40 +08:00 --add-host=host.docker.internal:host-gateway 搞错了,是这个命令 |
4 ETiV 2023-06-20 16:39:23 +08:00 via iPhone docker 容器内的 Gateway IP 就是宿主,你可以手动创建 network 把这 IP 固定一下 (看到是 40000 )如果这 socks5 服务监听在 127.0.0.1 上不好使… |
6 ETiV 2023-06-20 16:47:46 +08:00 那你可以在 host 上开一个 nginx 做 steam 的反向代理,把 127.1 的 40000 暴露给 docker network 的 gateway IP 上… |
7 villivateur 2023-06-20 16:58:18 +08:00 docker 内为啥一定要访问 127.0.0.1 呢,不能指定 ip 地址吗? |
8 Andim 2023-06-20 17:00:23 +08:00 via iPhone @villivateur 他可能是要用 Warp |
9 zhanghua0 2023-06-20 17:12:52 +08:00 via Android 宿主机的服务需要监听来自局域网的连接并且防火墙放行端口,容器需要把地址改成宿主在容器网络的地址 不想这么麻烦就 --network=host 让容器使用宿主机的网络 |
10 BeautifulSoap 2023-06-20 17:17:26 +08:00 内啥,3L 都把标准答案写出了 |
11 estk OP |
12 estk OP @FreeEx #3 设置了 --add-host=host.docker.internal:host-gateway -p 50000:40000 然后 docker 里访问 host.docker.internal:50000 ,依然不行 不知道是不是 socks5 无法通过 host-gateway:40000 访问 这个我自己再研究看看 |
13 chenjia404 2023-06-22 15:52:40 +08:00 一个简单的方法,你宿主机的 socks5 服务监听局域网 ip ,例如 192.168.1.23:40000 ,然后在 docker 容器内访问 192.168.1.23:40000 。 |
14 BeautifulSoap div class="badges"> 2023-06-23 00:43:29 +08:00 via Android @estk 那个,你首先得确保,你宿主跑的服务是监听了的 0.0.0.0:5000 地址而不是 127.0.0.1:5000 |
15 BeautifulSoap 2023-06-23 00:44:11 +08:00 via Android 打错端口了是 4000 端口,不过意思到了就行 |
16 estk OP |