如何組織微服務的虛擬介面卡?

我有一個服務運行在幾個不同的容器中。假設我有

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

是否可以為它們全部設置一個虛擬介面卡/交換器,讓它們彼此通訊但不允許外部訪問?然後為 Service.UserInterface 設置一個獨立的虛擬介面卡/虛擬交換器,因為它需要能夠被外部訪問。

是的。你可以在「網路與虛擬交換器」以及你的容器中完成所有設定。這個功能非常強大。我不是這方面的專家,但你想做的事情絕對是可行的。

絕對沒問題,這是可行的。
根據你的描述,看起來這些服務都是屬於同一個統一的應用程式。在這種情況下,我傾向於將它們全部集中在一個 docker-compose 檔案中,並透過專用的 Docker 網路將它們連接起來。為了處理外部存取,我通常會在這個架構中部署一個 Nginx 反向代理。我會將它同時連接到內部 Docker 網路以及一個綁定到我其中一個 VLAN 的獨立網路介面——這樣就能避免直接使用 NAS 的主要介面。