Veröffentlicht am: 20.09.2017
Von: JLusiardi
In Kategorie: Software
Zu meinem Root-Server gab es ein /64-IPv6 Netz (z.B. 2a03:4000:15:3b7/64) und somit mehr als genug Adressen. Doch wie kann ich Docker-Container unter über diese Adressen ansprechen?
Zunächst fügt man eine IPv6-Adresse aus dem Netz der Netzwerkkarte hinzu:
ip -6 a a 2a03:4000:15:3b7::3/64 dev eth0
Dann startet man einen Container und ruft die IPv4 Adresse aus dem Docker-internen Netz ab:
docker run --name testnginx -d nginx
docker inspect --format '{{ .NetworkSettings.IPAddress }}' testnginx
Anschließend leitet man mit socat die IP-Pakete von der IPv6-Adresse an die IPv4-Adresse des Containers weiter:
socat TCP6-LISTEN:80,reuseaddr,fork,bind=[2a03:4000:15:3b::3] TCP4:172.17.0.15:80
Nun kann man direkt auf den Port des Containers über IPv6 zugreifen.