本文记录了我在便宜云服务器服务器上使用Docker部署python项目(以flask为例)的全过程,在这里记录和分享一下,希望可以给大家提供一些参考。
一、准备python项目,并上传项目文件
首先,需要准备一个python的项目,这里以flask项目为例,只准备了两个文件,分别是app.py和requirements.txt。
app.py:
from flask import Flask, jsonify import logging app = Flask(__name__) # 配置日志记录器 logging.basicConfig( filename='app.log', level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s' ) logger = logging.getLogger(__name__) # 商品数据列表 products = [ { "id": 1, "name": "iPhone 15", "price": 7999.0, }, { "id": 2, "name": "Samsung Galaxy S24", "price": 6999.0, }, { "id": 3, "name": "MacBook Air", "price": 9999.0, } ] # 获取所有商品信息 route('/products', methods=['GET']) .def get_all_products(): logging.info('获取所有商品接口被调用了...') return jsonify(products) if __name__ == '__main__': app.run(host='0.0.0.0',port=5000)
要注意,这里的 host='0.0.0.0' 必须是这个,才能允许公共访问,至于端口可以自定义
requirements.txt 里面填写的是项目的依赖:
flask
将项目文件上传至服务器目录 /opt/py
这个路径后面挂载会用到
二、pull一个python镜像环境
这里默认已经安装了Docker,在服务器上执行以下命令,拉去python环境最新镜像
docker pull python
下载成功后,使用 docker images
查看,如下
三、创建容器、挂载目录
有了环境,就要创建一个容器了,命令如下
docker run -it -d --name=py_dev -p 5000:5000 -v /opt/py:/app python:latest bash
此时,容器已经创建成功,可以使用 docker ps
进行查看
四、安装项目相关依赖
创建的项目要成功运行起来,必须先在容器中下载相关的依赖,命令如下
docker exec -it py_dev bash --进入容器bash cd /app pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple --在容器bash内安装requirements.txt填写的依赖,在/app下执行
如上,依赖安装完成。
五、启动项目
当相关依赖安装完成,这时就可以启动项目了,在 /app
目录下执行以下命令进行后台启动
nohup python app.py > app.log 2>&1 &
这时,项目已经启动成功了,并且 app.log 文件会有启动日志
六、测试验证
最后,我们可以使用浏览器访问接口 http://公网ip:端口号/
product
s
进行验证了,可以看到接口正常访问,说明python项目已经部署成功。
============
感谢阅读!
不要忘记点赞、收藏、关注哦!