Debian
如何訪問 Linux 機器內的 VM?
我有一台託管虛擬機/Docker 容器的 Debian 機器。我想從外部機器訪問該容器,但它不僅僅是我需要訪問的單個埠,因為該容器託管一個網站,我需要能夠向不同頁面發出請求,例如“site.com/ home”或“site.com/index”,我需要能夠訪問容器上的不同埠,比如
192.49.11.1:1234
,192.49.11.1
容器的 IP 地址在哪裡(我不知道它是如何得到的,確切地說)。我的網路由 Debian 機器、外部(Windows 10)機器和路由器組成。我在想,如果我要在路由器的路由表中添加一條記錄,告訴它將任何請求路由
192.49.11.1
到 Debian 機器,並且它會知道將它們路由到容器,我會得到我想要的。問題是我該怎麼做,這可行嗎?
因為該容器託管了一個網站
執行此操作的規範方法是將容器的埠映射到 Docker 主機上的埠,使用
-p
選項、Docker Compose YAML 文件中的條目或您使用的任何內容。如果您有多個埠,請映射所有埠。我的網路由 Debian 機器、外部(Windows 10)機器和路由器組成。
所以你必須讓 Debian 機器成為你網路的一部分。你沒有告訴我們它是什麼類型的虛擬機(WSL?Hyper-V?)。Google你正在使用的任何類型的虛擬機的文件。(使用 WSL 非常困難,但有一種解決方法)。
我在想,如果我要在路由器的路由表中添加一條記錄,告訴它將任何到 192.49.11.1 的請求路由到 Debian 機器
您不會向容器的 IP 發出請求(它可能一開始就沒有這個地址)。您向 Debian 主機的 IP 發出請求,或者如果您還需要 WSL 的埠轉發,則向 Windows 主機發出請求。