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

时间:2015-06-22 18:14:16

标签: python django docker

我目前正在尝试使用Tutum通过AWS服务器上的docker容器运行django网站。我已经看过无数种方式通过我的网络浏览器访问它无济于事。我得到了我的公共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和端口访问网页时,我得到的网页不可用。我究竟做错了什么?它只是一个开发服务器,但我没有理由知道这会让它被黑客入侵。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

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

使用以下命令检查您的公共IP地址(您可能需要apt-get install curl。

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

之后,进入django项目文件夹并输入命令

sudo python manage.py runserver 0.0.0.0:80

执行此操作后,转到浏览器并使用端口8000键入public ip,如此 -

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

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

问题解决了。