我知道有很多类似的问题,但他们都没有为我工作!
我在Ubuntu 22.04.1 LTS上运行码头。我所要做的就是访问一个通过SSH隧道映射到端口localhost:9208的Elasticsearch实例,而无需将码头容器网络模式切换到host。
下面是我的最小docker-compose.yml示例:
version: '3'
services:
curl_test:
image: curlimages/curl
command: "curl http://localhost:9208"输出:
curl: (7) Failed to connect to localhost port 9208 after 0 ms: Connection refused我试过:
使用"host.docker.internal:host-gateway"
extra_hosts
的解决方法的
我知道这个最小的例子是行不通的。但所有提议的修正/修改都不起作用。所以我很高兴有任何关于这个问题的建议。
发布于 2022-10-10 08:48:34
终于修好了!
该解决方案包括两部分:
1.使停靠容器可以访问主机本地主机
它需要的只是
extra_hosts:
- "host.docker.internal:host-gateway" 2.更重要的是:SSH隧道本身并不是一个正常的本地主机!
这个@felix在这个post中的回答让我意识到,我必须将远程端口映射到dockers docker0接口。它所需要的只是一条额外的隧道:
ssh -N -L 172.17.0.1:9214:localhost:9200 user@remotehost
https://stackoverflow.com/questions/73976218
复制相似问题