找到this problem的解决方案后,我还有另一个问题:我正在docker容器(我的网络地图)中运行flask应用程序,并且我想在此地图上显示由(flask- Terracotta tile server在另一个Docker容器中运行。这两个容器位于同一个docker网络上,并且可以互相通信,但是只有我的Web服务器运行所在的端口才向公众开放,我希望保持这种状态。有没有一种方法可以以某种方式“从本地”提供我的图块而无需打开图块服务器的端口?也许通过设置一些重定向或其他方式?
主要原因是我需要其他人为我打开端口,这需要很长时间。
答案 0 :(得分:0)
如果您在ec2之类的远程计算机上运行docker容器,则不必担心端口向公众开放,因为默认情况下,端口在ec2或类似服务中是关闭的。您只需要打开运行应用程序的端口,即可使用aws控制台。
如果您在本地或没有控制台访问权限的服务器上运行Docker容器,则可以使用某种防火墙来打开或关闭端口。对于Ubuntu系统,我个人更喜欢UFW。您可以使用诸如sudo ufw allow 9000
之类的简单命令来允许一定范围的端口,以允许端口9000上的传入tcp数据包。类似地,您可以deny
传入到端口的数据包。另外,您可以使用sudo ufw allow from <ip address>
打开到某个IP(例如您自己的IP)的端口。