为了记住这些坑,我来写这篇笔记。
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。
如果还有什么疑问,欢迎留言,一起探讨问题吧。
来源: https://www.cnblogs.com/BigStupid/p/8191734.html