另一個關於舊社群資訊遺失的問題:Network setup? Cannot reach docker container from VM. - QNAP NAS Community Forum
我有幾個 Docker 容器設置在一般的 NAT 橋接後面。我就是要這樣,不想讓它們直接在網路上,因為那樣我就需要為它們設 VLAN,而 QNAP 的虛擬交換機情境下,將 VLAN 加到介面上並不簡單,還會導致介面上的 VLAN1 無法存取。我可以從任何應該有 LAN 存取權的電腦,透過端口號碼正常存取這些容器。現在的問題是,我有一台 Virtualization Station 虛擬機也需要存取其中一個 Docker 容器。就像我想像那個討論串提到的,你無法從虛擬機存取 Docker 容器。我可以正常存取 QNAP 的網頁介面、SMB 以及 NAS 上其他服務,但無法存取 NAS 上的 Docker 容器。有什麼解決方案嗎?
這很可能是路由問題。所以在 Virtualization Station 虛擬機 (VM) 中,你可以選擇要用於通訊的網路介面卡 (NIC)。然後在虛擬機裡,你可以在你的區域網路 (LAN) 上設定地址等。
首先你要檢查虛擬機上的路由表。例如在 Windows 上,可以在命令提示字元輸入 route print。Linux 上的指令可能不同。你需要查看容器的子網在路由方面是如何設置的。如果需要,我們之後可以手動新增路由。
為了進一步分析您的系統環境與網路設定,請您提供以下資訊:
-
您的虛擬交換器(Virtual Switch)設定的螢幕截圖
-
Docker(Container Station)中目前執行的內容細節
-
您的虛擬機(Virtual Machine)作業系統版本
這些資訊將有助於我們找出問題。感謝您的配合!
我之前沒想到是路由的問題,不知道為什麼
。感謝你喚醒了我的記憶。這台 Linux 虛擬機是用我標準的基礎設施 VLAN,並且明顯地和我的主路由器通信。172.29.20.0/24 是我嘗試連接的特定 docker 網路。通過執行 “ip route add 172.29.20.0/24 via 192.168.x.x dev ens2”,其中 192.168.x.x 是 QNAP 的 IP,ens2 是我的 Linux 虛擬機的乙太網路埠名稱,我就能夠成功測試通過容器 IP 連到容器。之後我只是在 Network Manager 裡加了一條永久路由。
再次感謝 