Behandeln Sie die variable IP des Dockers in iptables

Behandeln Sie die variable IP des Dockers in iptables

In meiner Produktionsumgebung habe ich einige Apps in Docker, die eine Verbindung zu unterstützenden Diensten herstellen müssen, z. B. zur Datenbank auf demselben Host. Ich habe festgestellt, dass ich in iptables eine Ausnahme machen muss, um diese Verbindungen zu akzeptieren.

Der IP-Bereich des Docker-Netzwerks variiert jedoch zwischen den Neustarts. Zuerst war es 172.18.0.0/24, später 172.17.0.0/24 und 172.20.0.0/24, jetzt sind die IPs 192.168.172.2 und 192.168.192.3.

Wie können Sie Docker-Verkehr innerhalb eines Containers, beispielsweise zu MariaDB, zuverlässig und sicher zulassen?

EDIT: Eine Antwort scheint zu seinAngeben der IPAM-Konfiguration, aber das Anhängen an eine Schnittstelle scheint eleganter

Antwort1

Zwei Optionen:

Erste

Erlauben Sie den Zugriff über die docker0Schnittstelle und nicht über einen bestimmten IP-Bereich.

iptable -A INPUT -i docker0 -dport 3306

Zweite

Verschieben Sie die Datenbank in einen Container.

Erstellen Sie einen Docker mit dem Namen „Netzwerk“

Stellen Sie sicher, dass alle Container an das benannte Netzwerk angeschlossen sind. Sie sollten dann von jedem anderen Container (im selben Netzwerk) aus über den Namen auf den Datenbankcontainer zugreifen können.

Wenn Sie extern auf die Datenbank zugreifen müssen, können Sie den Port zuordnen und die gewünschten iptables-Regeln zum Sichern einrichten.

verwandte Informationen