• docker+django 运行环境部署


    本篇描述了制作一个docker+django的镜像。

    其中uwsgi,supervisor 这两工具是为了后续采用nginx 服务器所安装的,本篇测试不需要这些。只是用了django的自带测试服务器测试。

    1,首先下载 docker +ubuntu 基础镜像

          docker pull ubuntu

          下载完毕后 

          docker images

           查看结果:        

           REPOSITORY TAG IMAGE ID CREATED SIZE
           ubuntu latest 4c108a37151f 33 hours ago 64.2MB

    2,运行容器

          docker run -it ubuntu  bin/bash

          进入命令行模式:

          查看ubuntu 版本,cat  /etc/issue  ,我当前下载版本 Ubuntu 18.04.2 LTS l

    3,安装python环境

          apt-get install python3

          python=python3

          运行 python控制台:      

          Python 3.6.8 (default, Jan 14 2019, 11:02:34)
          [GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
          Type "help", "copyright", "credits" or "license" for more information.

          默认安装了3.6.8 版本,ctrl+D 退出python 控制台

    4,安装pip3

          由于上面安装的是python3 ,所以安装pip3工具

          apt install python3-pip

    5,安装djgano

          pip3 install Django

          安装完毕后查看django版本:

          python:

          import django      

          django.get_version()
           '2.2.2'

          安装完毕django 2.2.2 版本

    6  制作镜像

        docker commit -m="python3+django2" -a="zhj" 9af3cf56dbec  ubuntu:django

        

    7, 安装Django和mysql连接的驱动 pymysql  

     git clone https://github.com/PyMySQL/PyMySQL
     cd PyMySQL 
     python3 setup.py install
    由于ubuntu:django镜像上没有git命令,所以要么安装git,要么采用另外一种方式解决,我采用了第二种。
    在宿主机上下载:
     git clone https://github.com/PyMySQL/PyMySQL
    放在目录
    /home/andrew下

    然后运行容器:
    docker run -it -v /home/andrew:/home/andrew django bin/bash

    -v /home/andrew:/home/andrew 表示将容器中/home/andrew目录挂载到宿主机的/home/andrew上。
    现在浏览容器的
    /home/andrew,
     cd PyMySQL 
     python3 setup.py install
    完成pymysql的安装

    8,安装 uwsgi
    pip3 install uwsgi

    9,安装supervisor

           一个专门用来管理进程的工具,我们用它来管理 uwsgi 进程.

           pip3 install supervisor

       10, 安装vim

            apt-get install vim

       11, 运行一个django工程

             运行我自己建的一个django工程

            python3 manage.py runserver 0.0.0.0:8000,

            报错如下:         

            /usr/local/lib/python3.6/dist-packages/django/db/backends/mysql/base.py", line 36, in <module>
            raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)

            修改如下:

            把文件base.py中的这些内容注释掉:        

           #if version < (1, 3, 13):
           # raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)

       12,测试

            docker commit -m="python3+django2" -a="zhj" 8af3cf56dbdc  ubuntu:django1  (制作镜像的步骤根据自己的安装情况而定,上面步骤中可出现多次制作,自己决定啦)

            制作一个新镜像

            运行该镜像

            docker run -p 8083:8000 -it -v /home/andrew/django/test/project:/home/andrew ubuntu:django1 bin/bash

            运行django        

            python3 manage.py runserver 0.0.0.0:8000

            在浏览器上访问  192.168.21.59:8083/admin,出现django登录页面。测试成功。(192.168.21.59,我的主机名)

       13,后续,下一篇该尝试nginx部署运行django 了

            

           

          

         

  • 相关阅读:
    join_tab计算代价
    outer join test
    突然觉得mysql优化器蛮简单
    将数据库字段从float修改为decimal
    小米初体验
    简述安装android开发环境
    Rust语言:安全地并发
    awk里的各种坑
    ubuntu下使用C语言开发一个cgi程序
    Ubuntu下安装和配置Apache2
  • 原文地址:https://www.cnblogs.com/huanhuaqingfeng/p/11059168.html
Copyright © 2020-2023  润新知