如何访问在docker上运行的远程django应用程序

我目前正试图通过使用Tutum的AWS服务器上的Docker容器来运行一个django网站。 我已经看过无数的方式通过我的networking浏览器来访问它无济于事。 我得到了我的公有IP,

curl -s checkip.dyndns.org | sed -e 's/.*Current IP Address: //' -e 's/<.*$//' 

并使用几种方法将服务器设置为在端口8000上运行。

 python manage.py runserver 0.0.0.0:8000 python manage.py runserver 0:8000 

 ./manage.py runserver 0.0.0.0:8000 ./manage.py runserver 0:8000 

然后,当我尝试通过外部IP和端口访问网页时,我得到的网页不可用页面。 我究竟做错了什么? 这只是一个开发服务器,但没有理由,我知道这将允许它被黑客入侵。

谢谢您的帮助!

在Tutum中,您可以选中与要发布到networking的容器相对应的框。 之后,点击编辑(除非您正在创build容器)。 在该页面中,您将看到一个您需要点击的框来定义将要发布到Web的端口。 单击该框后,可以通过单击“添加端口”来添加端口。 就我而言,我添加了80端口,并点击发布的框。 它会自动分配dynamic,但我点击dynamic,并将其更改为8000.如果您已经创build了容器,并正在编辑它,您将需要重新部署容器。 如果没有,那么不要担心重新部署。

通过使用以下命令检查你的公共IP地址是什么(你可能需要apt-get install curl。

 curl -s checkip.dyndns.org | sed -e 's/.*Current IP Address: //' -e 's/<.*$//' 

之后,进入你的django项目文件夹并input命令

 sudo python manage.py runserver 0.0.0.0:80 

做完这些之后,进入你的浏览器并input公共端口8000,

 http://your.public.ip.address:8000 

这应该带你到你发布和运行的Django的Web应用程序。

问题解决了。