我在Linux Ubuntu 20.04中通过docker-compose
运行一些Docker
容器。我的docker编写配置如下:版本:“3”
networks:
app_net:
external: true
services:
client-service:
image: client-image
container_name: client-service-con
restart: always
stdin_open: true
volumes:
- ../clients/web/:/home/cl/clients/web
working_dir: "/home/cl/clients/web"
expose:
- 80
networks:
- app_net
现在我想连接到linux主机中的一个活动socks5代理,如下所示:
socks5://172.18.0.0:2080
但是我得到"failed: Connection refused"
错误。当我的主机是Mac OS时,我这样做,它工作:
socks5://host.docker.internal:2080
但是当我的主机是Linux时,没有运气,我可以连接。我试图从容器ping主机,如下所示:
nc -vz 172.18.0.1 2080
但我得到了同样的错误。当我ping时:
ping 172.18.0.1
我得到这个:
PING 172.18.0.1 (172.18.0.1): 56 data bytes
64 bytes from 172.18.0.1: icmp_seq=0 ttl=64 time=0.108 ms
64 bytes from 172.18.0.1: icmp_seq=1 ttl=64 time=0.149 ms
64 bytes from 172.18.0.1: icmp_seq=2 ttl=64 time=0.130 ms
64 bytes from 172.18.0.1: icmp_seq=3 ttl=64 time=0.101 ms
64 bytes from 172.18.0.1: icmp_seq=4 ttl=64 time=0.327 ms
64 bytes from 172.18.0.1: icmp_seq=5 ttl=64 time=0.097 ms
64 bytes from 172.18.0.1: icmp_seq=6 ttl=64 time=0.100 ms
64 bytes from 172.18.0.1: icmp_seq=7 ttl=64 time=0.126 ms
64 bytes from 172.18.0.1: icmp_seq=8 ttl=64 time=0.154 ms
我需要做什么?我的Docker版本是:23.0.1,内部版本a5ee5b1我的主机Linux计算机是:Ubuntu 20.04
1条答案
按热度按时间hmmo2u0o1#
您应该在docker-compose.yml中将network_mode设置为“host”,如下所示:
network_mode: "host"
你能使用码头集群吗?如果可以,那么这个可能会有用: