Wie organisiert man virtuelle Adapter für Microservices?

Ich habe einen Dienst, der in mehreren verschiedenen Containern läuft. Nehmen wir an, ich habe

  • Service.BackEnd
  • Service.Database
  • Service.Messaging
  • Service.UserInterface

Ist es möglich, einen virtuellen Adapter / Switch für alle diese Container zu haben, sodass sie miteinander kommunizieren können, aber keinen Zugriff von außen haben? Und einen separaten virtuellen Adapter / virtuellen Switch für Service.UserInterface, da dieser von außen erreichbar sein soll.

Ja. Das kannst du alles im Netzwerk- und virtuellen Switch sowie in deinem Container einrichten. Es ist ziemlich leistungsfähig. Ich bin zwar kein Experte darin, aber das, was du vorhast, ist auf jeden Fall machbar.

Absolut, das ist machbar.
Nach deiner Beschreibung scheint es, als wären all diese Dienste Teil einer einheitlichen Anwendung. In solchen Fällen bevorzuge ich es, sie gemeinsam in einer einzigen docker-compose-Datei zu gruppieren und über ein dediziertes Docker-Netzwerk zu verbinden. Für den externen Zugriff setze ich normalerweise einen Nginx-Reverse-Proxy innerhalb des Setups ein. Diesen verbinde ich sowohl mit dem internen Docker-Netzwerk als auch mit einer separaten Netzwerkschnittstelle, die an eines meiner VLANs gebunden ist – so wird die primäre Schnittstelle des NAS nicht direkt verwendet.