博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Docker部署之Django开发

Posted on 2018-01-04 10:30  哈哈丶大傻瓜  阅读(1384)  评论(0编辑  收藏  举报

为了记住这些坑,我来写这篇笔记。

1.Docker部署

(1)在rancher里添加应用

在名称栏里填上你的应用名,描述可以写你的应用是干什么的,然后点击创建。

(2)然后在新添加的应用里添加服务(就是你的docker)

 

然后按照步骤填写名称描述,镜像,其中有一个选项 勾选的话,它每次都会拉取本地的镜像,但是不能拉取网上的镜像,这个问题我还没有解决,目前还不知道是什么原因。

(2)添加卷时,可以在外部映射一个卷用来保存你的docker新添加的一些必须文件,如Python的一些包(sitepackages)映射在外面,这样docker的image就不会那么大,不然会超级大,迁移不方便,还有就是一层一层的commit会让后面使用这个image的用户不知道这个里面到底有哪些东西,对新用户来说,这个是一个黑箱。

(3)网络配置为托管,这样设置很方便。(好吧,我偷懒了)

 

 如果你要限制docker的内存和cpu可以在安全/主机中设置,我就不详细说了。可以自行google,百度。

 

2.Docker中的Django怎么开启服务

 这个问题,一直坑着我,用了,很多方法。最后,通过一位大神的指导,试了一下,果然可以了。

(1)在Docker中新建Django的项目和在外面创建是一样的,我就略过了。

(2)怎么开启服务呢?

     首先,进入docker命令行。

(2)然后,进入项目目录中。在项目的根目录下,输入 python manage.py runserver webcharts4:8585

红色字可以忽略,是因为我的数据库变更,而项目没有及时更新,没有migrate导致的。

这样,我们来看看外部怎么访问网站。

访问是可以的。但是,可能会有人问,为什么你的域名不是webcharts4呢?因为啊,我在创建docker时,将主机的8585端口映射在了docker的8585端口上了,当在docker内开启8585端口时,docker分配的ip一直变,但是docker名是不变的,所以我用了docker名作为我的开启服务的ip。

如果还有什么疑问,欢迎留言,一起探讨问题吧。