zoukankan      html  css  js  c++  java
  • Ubuntu上使用docker部署flask项目记录

    上课的时候老是让我们写了个词频统计网站,我用flask做后台,写完后发现不会部署,直接在服务器段搭建apache2和nginx都没成功,最后采用了docker的方式进行操作。


    以下记录当时的操作。

    首先用Xftp将文件上传到服务器端,然后将项目文件放到某一个文件夹(我放在了/home/app下)

    文件目录如下:
    在这里插入图片描述
    注意,app所在的文件命名为main.py,不然用不了(我整了半天才发现不是main不能用)

    然后下载所需要的环境。

    这里我们需要python3.6以上环境(一般linux系统默认带python,没有的自行安装)
    还需要安装一下docker

    apt-get update && apt-get upgrade    #更新源
    apt-get install docker.io
    

    然后构造Dockerfile:

    FROM tiangolo/uwsgi-nginx-flask:python3.8   #这里调用一个网上已经安装好现成环境的系统
    
    RUN pip install pymysql -i https://pypi.tuna.tsinghua.edu.cn/simple   #下载我需要的pymysql库
    
    COPY ./app /app  #将当前目录下的app文件夹里面内容全部拷贝到docker镜像的/app文件夹中
    

    下载tiangolo/uwsgi-nginx-flask:python3.8的过程有点慢,下载到服务器端后下次调用就比较方便了。

    如果你的flask项目调用到其他库的话可以继续pip install。可能是系统没有安装pip下载的源,所以需要带上-i https://pypi.tuna.tsinghua.edu.cn/simple来声明从清华源下载。
    下载多个库可以用空格隔开,也可以用反斜杠来隔断。比如:

    RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pandas numpy
    
    or
    
    RUN pip install -i  https://pypi.tuna.tsinghua.edu.cn/simple pandas
    && pip install -i  https://pypi.tuna.tsinghua.edu.cn/simple numpy
    

    Dockerfile写好后,放到app文件夹所在路径:

    在这里插入图片描述
    然后执行docker build -t wordfriend .
    这行命令执行当前目录下的Dockerfile文件,生成名为wordfriend的docker镜像。
    注意wordfriend后面有一个.代表着当前文件夹的意思(如果写Dockerfile所在的绝对路径也可以)

    然后可以使用docker images查看有无wordfriend镜像在这里插入图片描述

    然后使用docker build -dt -p 90:80 wordfriend来调用镜像创建docker。
    这里-p参数指的是端口映射,将我们服务器的90端口映射到docker的80端口。
    -d指的是后台运行。

    最后访问一下 http://121.36.60.224:90/ 就可以啦!

  • 相关阅读:
    用 VMControl 管理 IBM i,第 1 部分: VMControl 简介
    使用 VMControl 2.4 实现多网络的 Power 服务器捕捉和系统部署
    lftp 4.4.0 发布,命令行的FTP工具
    Percona Toolkit 2.1.4 发布
    RabbitMQ 2.8.7 发布,AMQP 消息队列
    编程获取本机IPv4及IPv6地址
    Mac下android环境搭建
    Python 3.3.0 RC3 发布
    Sean Lynch谈Facebook Claspin监控工具的由来
    .NET开发者可以在Windows 8中使用ARM
  • 原文地址:https://www.cnblogs.com/shenjuxian/p/13698780.html
Copyright © 2011-2022 走看看