Ich habe zwei Dienste (A & B) auf einem Container ausgeführt. Ein Dienst verspottet eine Abhängigkeit, die von der anderen benötigt wird.Port-Weiterleitung mit iptables in Docker Container
Dienst A ist eine Black-Box und ruft eine IP 169.254.169.254 an. Ich mag diesen Anruf zu Service B. unter Verwendung von iptables weiterleiten
Ich bin die Container wie dieser Start so kann es seine eigenen iptables hat,
docker run -it --cap-add=NET_ADMIN --sysctl net.ipv4.conf.eth0.route_localnet=1 <name> bash
Einmal in bash, i iptables konfigurieren Sie den Anruf weiterleiten,
iptables -t nat -I PREROUTING -p tcp -d 169.254.169.254 --dport 80 -j DNAT --to-destination "127.0.0.1:8099" -i eth0
Der Anruf wird jedoch nicht an 127.0.0.1 weitergeleitet. Die gleichen Schritte funktionieren, wenn sie in einer Ubuntu Xenial VM ausgeführt werden.