iptables 可以重定向回 docker 容器吗

iptables 可以重定向回 docker 容器吗

假设我在 docker 网络上有一个 docker 容器,ip 为 172.20.0.2。

在该 docker 容器内有两个进程正在运行。

  1. 侦听端口 8000 的 http 服务器始终回复“hello”
  2. 不断尝试连接的 http 客户端http://example.com

是否有可能,使用 ip 表主持人机器,将该容器中的所有出站流量转发回同一个容器。

因此,在上面的场景中,对 example.com 的 http 请求实际上会转到同一容器内的 8000 端口,返回“hello”。

我觉得如果这不在 docker 中,以下内容会起作用。我很接近吗?

iptables -t nat -A OUTPUT -s 172.20.0.0/16 -j REDIRECT --to-ports 8000

但我认为这只是转发到主机上的 8000 :(

答案1

我建议编辑/etc/hostsdocker 容器上的文件:

172.20.0.2  example.com

这意味着每次客户端尝试连接http://example.com:8000通过 HTTP,流量将指向 172.20.0.2:8000 的 docker 容器,并按预期收到“hello”回复。

相关内容