当前位置:   article > 正文

用docker部署django后台作为webstack的后台管理系统-其二_webstack后台页面

webstack后台页面

0 序言

        在之前的博客中:

用docker部署webstack导航网站-其一https://blog.csdn.net/qq_41938259/article/details/128736551?spm=1001.2014.3001.5501我成功的将webstack官方推荐的docker容器部署了出来,但是官方的docker容器后端使用的是PHP,我们需要一些个性化的定制的话,继续使用这个容器是不可行的。并且,该容器后台写的确实是不错,但是我们想加一些个性化的功能,而我对PHP又不熟,直接修改容器,用docker commit命令的话会使得容器变得很臃肿,这样子就得不偿失了。

        于是,我决定自己实现一个后端,分别用于处理前端讲台页面,并提供一个后台管理系统。目前先实现后台管理系统,目前的后台管理系统展示如下:

1 后台管理系统展示

这是root用户登陆时的界面,可以看到,既可以修改网站相关的信息,也可以查看并修改登录用户们的权限信息。

         而登录的是普通用户的话就只能修改网站相关的信息,不能查看修改用户们的授权信息,事实上,权限这一步是可以定制的(增删改查,以及权限分组)。普通用户登陆界面如下所示,可以看见“认证和组”那一块消失了:

         Categories(分类选项)是用来管理网站分类的,具体内容如下所示:

         sites是管理每个网站的,可以用来定制每个标签的具体信息,具体内容如下所示:

        由于本文讨论的是docker部署django,所以具体网站的源码就暂不展示了,等我有兴趣了也许会开一个博客细说。

2 用dockerfile和制作django镜像

 我写的dockerfile如下所示:

  1. FROM python:3.7
  2. MAINTAINER tim_tian<329644893a@gmail.com>
  3. #RUN apt-get update
  4. #RUN apt-get install -y wget
  5. #RUN apt-get install -y vim
  6. #RUN apt install -y --force-yes libmysqlclient-dev
  7. #RUN apt-get install -y --force-yes python3-dev build-essential libssl-dev libffi-dev libxml2-dev libxslt1-dev zlib1g-dev
  8. #RUN pip install django -i https://pypi.tuna.tsinghua.edu.cn/simple
  9. #RUN pip install mysqlclient -i https://pypi.tuna.tsinghua.edu.cn/simple
  10. EXPOSE 8222
  11. COPY . /root/own_navigation_website_admin/
  12. WORKDIR /root/own_navigation_website_admin
  13. RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
  14. CMD /bin/bash
  15. # CMD ["python","manage.py","runserver","0.0.0.0:8222"]

        注释的内容是可选的,前3行注释是给容器安装vim。

        再4行注释是手动安装django项目的依赖项,前两行是mysqlclient库的依赖,防止mysqlclient安装失败使用的,后来改用了requirements.txt文件进行操作后,就全部注释掉了。

        最后一行CMD命令是用来运行django的,但不知道为何不起作用,每次都需要我进入容器手动启动django才行。没有注释掉的

WORKDIR /root/own_navigation_website_admin

        这一句正是方便我进入项目目录,然后启动django项目而添加的。

3 构建docker镜像期间踩到的一些坑

无法用pip安装PyPi库依赖:虽然没有报错,但是打开容器后发现没有安装库

这个是应为需要禁用缓存,使用--no-cache命令即可,例如:

docker build -f dockerfile -t my_web_site_image --no-cache

4 结束

        后续,我打算自己重新构建前端。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/690213
推荐阅读
相关标签
  

闽ICP备14008679号