【发布时间】:2021-04-15 04:08:54
【问题描述】:
如何将 nginx 反向代理添加到现有图像?
例如,我使用https://github.com/Koenkk/zigbee2mqtt,这会暴露一个只能通过 http 工作的前端。
我想使用图像,但前端只能通过 https 访问。添加 Nginx 反向代理很简单,但最好的方法是什么?
我是 fork 存储库并将 Nginx 和配置添加到构建中,还是基于现有映像创建一个新映像?
如果我根据现有图像创建一个新图像,那么入口点基本上会丢失,因此在该脚本中完成的任何设置都需要在我的图像中复制?
编辑:我需要在 macvlan 网络上运行此容器,但我不希望该网络上的其他设备可以使用不安全的 http 访问。
【问题讨论】:
-
您几乎总是在单独的容器中运行它。您可以使用未修改的
nginx映像并将配置文件安装到其中。 -
但是通过将其添加到单独的容器中,这意味着原始容器仍然需要暴露不安全的端口,以便代理可以访问它。
-
您不必在隔离的 Docker 网络空间之外发布端口。
-
我稍后会更新这个问题,但目前我的家庭自动化容器与其他一些物联网设备一起在 macvlan 网络上运行。我在 Unraid 服务器上运行 docker,这是目前我可以让容器在指定的 vlan 上运行的唯一方法(直到我获得第二个 NIC)
-
用两个镜像创建 docker-compose,一个是 ZigBee,另一个是你的 Nginx 转发所有请求。为什么要通过 ZigBee 使用 SSL?