我有两台通过SSH隧道连接的计算机,以便machine1:2222
可以作为localhost访问machine2:2222
。 machine2
运行容器docker2
,并将端口2222
上的服务仅公开给localhost。我可以通过端口machine1
上的2222
访问这些内容。
我希望能够从machine1:2222
访问docker1
,这是一个在machine1
上运行的容器localhost
。我可以在docker1
内确定网关IP地址,但是连接会被拒绝,因为它们来自分配给docker1
而非localhost
的IP地址。
那么,从machine2
docker1
machine1
访问{{1}}上的服务的最佳方法是什么?我见过的解决方案似乎涉及在主机上修改iptables,这看起来并不是那么便携。
答案 0 :(得分:1)
这是--net
标志的用途:
user@machine1:/ docker run --net="host" -ti docker1 /bin/bash
root@machine1:/ wget localhost:2222
>> (this will download whatever a request to machine2:2222 provides)