Ubuntu

如何從 Docker 主機訪問容器化服務 Web 界面?

  • October 3, 2019

我的家庭伺服器正在執行 Ubuntu(安裝了桌面環境)。它為一些由 Web 界面(Transmission、Sickrage、Openhab、Unifi 控制器等)管理的服務託管了幾個 docker 容器。

根據偏好,我將以下內容用於容器的網路:

--net=macvlan
--ip=192.168.0.211 

這樣,我沒有埠問題(將第一個安裝在埠 8080 上,然後下一個預設使用 8080 但我需要放入 8081,但是我想安裝一個預設具有 8081 的新服務但是,我仍然需要將其更改為其他內容…),在這裡,我只需為下一個服務獲取下一個可用的 IP 地址,瞧。

當涉及到外部訪問時,出於安全原因,我只打開了一個埠用於從外部對我的家庭伺服器進行 SSH 訪問,然後通過隧道,我也可以使用 VNC 訪問。

我的問題:我可以從本地網路中的任何電腦訪問我的容器 Web 界面,除了主伺服器本身。容器也可以相互訪問。在家裡,這不是一個大問題,但從外面訪問時,它是一個大問題。

因此,我無法使用我的 VNC 訪問權限來管理這些服務。

我該如何解決這個問題?

答案可以在這裡找到:https ://docs.docker.com/v17.09/engine/userguide/networking/get-started-macvlan/#macvlan-bridge-mode-example-usage

我需要創建一個實際上與 macvlan 橋接的新網路介面:

ip link add mac0 link enp3s0 type macvlan mode bridge
ip addr add 192.168.0.199/24 dev mac0
ifconfig mac0 up

命令需要提升的權限。

一切都馬上好了。

引用自:https://serverfault.com/questions/984790