Ubuntu
如何從 Docker 主機訪問容器化服務 Web 界面?
我的家庭伺服器正在執行 Ubuntu(安裝了桌面環境)。它為一些由 Web 界面(Transmission、Sickrage、Openhab、Unifi 控制器等)管理的服務託管了幾個 docker 容器。
根據偏好,我將以下內容用於容器的網路:
--net=macvlan --ip=192.168.0.211
這樣,我沒有埠問題(將第一個安裝在埠 8080 上,然後下一個預設使用 8080 但我需要放入 8081,但是我想安裝一個預設具有 8081 的新服務但是,我仍然需要將其更改為其他內容…),在這裡,我只需為下一個服務獲取下一個可用的 IP 地址,瞧。
當涉及到外部訪問時,出於安全原因,我只打開了一個埠用於從外部對我的家庭伺服器進行 SSH 訪問,然後通過隧道,我也可以使用 VNC 訪問。
我的問題:我可以從本地網路中的任何電腦訪問我的容器 Web 界面,除了主伺服器本身。容器也可以相互訪問。在家裡,這不是一個大問題,但從外面訪問時,它是一個大問題。
因此,我無法使用我的 VNC 訪問權限來管理這些服務。
我該如何解決這個問題?
我需要創建一個實際上與 macvlan 橋接的新網路介面:
ip link add mac0 link enp3s0 type macvlan mode bridge ip addr add 192.168.0.199/24 dev mac0 ifconfig mac0 up
命令需要提升的權限。
一切都馬上好了。