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