首页 > 解决方案 > docker中的Flask,访问本地运行的其他flask服务器

问题描述

在找到这个问题的解决方案后,我有另一个问题:我正在一个 docker 容器(我的网络地图)中运行一个烧瓶应用程序,并且在这张地图上我想显示一个正在运行的(基于烧瓶的) Terracotta 瓷砖服务器提供的瓷砖在另一个码头集装箱中。这两个容器位于同一个 docker 网络上并且可以相互通信,但是只有我的 Web 服务器运行的端口对公众开放,我喜欢保持这种状态。有没有一种方法可以“从本地”以某种方式提供我的图块,而无需打开图块服务器的端口?也许通过设置一些重定向或其他方式?

主要原因是我需要其他人为我打开端口,这需要很长时间。

标签: dockerflaskleaflet

解决方案


如果你在像 ec2 这样的远程机器上运行你的 docker 容器,那么你不必担心端口对公共开放,因为默认情况下端口在 ec2 或类似服务中是关闭的。您只需要打开运行应用程序的端口,就可以使用 aws 控制台。

如果您在本地运行 docker 容器或在您没有 cosole 访问权限的某些服务器上运行,那么您可以使用某种防火墙来打开或关闭端口。我个人更喜欢UFW用于 Ubuntu 系统。您可以使用简单的命令来允许特定范围的端口,例如sudo ufw allow 9000允许端口 9000 上的传入 tcp 数据包。类似地,您可以deny将数据包传入端口。此外,您可以使用sudo ufw allow from <ip address>.


推荐阅读