本文共 1328 字,大约阅读时间需要 4 分钟。
上课的时候老是让我们写了个词频统计网站,我用flask做后台,写完后发现不会部署,直接在服务器段搭建apache2和nginx都没成功,最后采用了docker的方式进行操作。
/home/app
下)文件目录如下:
注意,app所在的文件命名为main.py
,不然用不了(我整了半天才发现不是main不能用) apt-get update && apt-get upgrade #更新源apt-get install docker.io
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 numpyorRUN 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/ 就可以啦!
转载地址:http://hxpbi.baihongyu.com/