docker Netzwerk im bridge-Modus
Habe ich planing, um docker installieren, aber wie wir wissen, Standard-Andockfenster-networking ist in NAT
- Modus, so hat es eigene IP auf docker0
Schnittstelle, die 172.17.42.x
.
Ich neu konfigurieren möchten, Vernetzung in full-bridge-Modus, so dass alle meine container IP-Adresse von meinem LAN Wireless Router
ich bin nach dieser Artikel und gab es einen Versuch, aber es hat nicht funktioniert.
Ich habe eine Frage:
Wie Behälter wird die IP-Adresse? Oder muss ich das manuell zuweisen, Lokalen LAN-IP-Adresse, um docker-container?
Oder ist es bewährte Methode, um eine Verbindung container zum Lokalen LAN, andere Personen darauf zugreifen können docker-container?
EDIT:
Wenn ich eine bridge-Schnittstelle br0
und befestigen Sie es an eth0
ich nicht pingen kann, außerhalb. Ich bin mit brctl
Befehl Anhängen br0
zu eth0
.
- Sie müssen ein wenig Ausführlicher über das, was nicht funktioniert. Allgemein ist es der richtige Ansatz.
- Haben Sie gesehen, Verrohrung? Sie verwenden könnte, --Netto=none und eine IP mit Verrohrung.
- Diese Frage ist in Bezug auf stackoverflow.com/questions/35742807/... und stackoverflow.com/questions/29488637/...
- Vielleicht ein kleines bisschen mehr Anstrengung, um die Melodie deiner Rechtschreibung... here sind die wichtigsten Dinge.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Ansatz, den Sie nehmen könnte, ist das erstellen einer virtuellen Brücke, auf die Sie die externe Schnittstelle des host, und denen Sie zu befestigen Ihre docker-Container.
Dann führen Sie Ihre container in privilegierten Modus und führen Sie
dhclient
in ihm, so dass er fragt Ihre DHCP nach einer IP-Adresse. Auf diese Weise werden Ihre container bekommen sollte dynamisch seine IP-Adresse wie jeder normale Gastgeber ist.PS denken Sie Daran, Sie zu laufen mit
--net=none
.Hier finden Sie einen Verweis, aus denen Sie schöpfen Ihre inspiration: https://docs.docker.com/articles/networking/
bridge
- und es funktioniert! aber jetzt bin ich binden zu entlarvenport 80
container an die Außenwelt funktioniert nicht 🙁iptables -t nat -A DOCKER -d 182.xx.xxx.xx/32 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.1.151:80
--net=none
, der container ist attacher auf der Docker virtuelle bridge. Wenn Sie möchten, bringen Sie es zu einem anderen, Sie sollten es selbst tun... Unter diesem link (docs.docker.com/articles/networking/#container-networking), finden Sie ein Beispiel, wie dies zu tun...