【发布时间】:2020-03-21 19:27:46
【问题描述】:
所以,我正在从 dockerfile 调用一个网站(例如 https://ipinfo.io/ip)。我也想从ssh local port-forward tunnel传递这个流量。
所以我做了什么,
- 创建 ssh 隧道
sudo ssh -N -L 0.0.0.0:443:ipinfo.io:443 my-username@xx.xx.xx.xx
- 在
/etc/hosts中添加ipinfo
127.0.0.1 ipinfo.io
- 创建一个类似的 Dockerfile
FROM alpine
RUN apk add curl
RUN curl https://ipinfo.io/ip
所以ipinfo.io 发生的事情可以在环回中解决,但不会通过 ssh 隧道。
我如何从 docker 调用 ipinfo.io,使其通过 ssh 隧道?
P.S:我使用的是 macOS High Sierra
【问题讨论】:
-
"but doesn't go through ssh tunnel" 当你尝试时究竟会发生什么?您收到错误消息吗?他们说什么?
-
显示连接拒绝
-
出于安全原因,禁止容器与主机通信。而是创建另一个将创建隧道的容器。有关此主题,请参阅 my answer。
-
您可以使用host network驱动程序与主机交谈。它适合您吗?
-
已尝试使用主机网络。它不适合我。你可以试试看,如果你能解决这个问题