我正在尝试使用例如Docker容器访问来自Internet的1.2.3.4:9999:99
(因此从容器外部)被视为来自内部的相同IP,因此当我进入容器并执行curl http://bot.whatismyipaddress.com/
时,我会得到1.2.3.4
。我正在努力工作几个小时但没有进展。
我正在使用docker run --name public254 -d -p 123.456.789.254:22:22 some-image:latest
运行容器,并且可以通过123.456.789.254
访问它。在里面它被视为主机的主要IP,因为它应该。
现在我要修改它。接下来我该怎么办?
答案 0 :(得分:0)
好。我做到了。
echo 1 > /proc/sys/net/ipv4/ip_forward
docker inspect -f '{{ .NetworkSettings.IPAddress }}' some_container
iptables -t nat -I POSTROUTING -p all -s <container internal IP> -j SNAT --to-source <container external IP>