我的家庭服务器正在运行 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 桥接的新网络接口:
命令需要提升的权限。
一切都马上好了。