一.使用Docker部署Python FlaskWeb项目
1.写好python flask程序first.py:
from flask import Flask, request app = Flask(__name__) @app.route('/', methods=['GET']) def index(): name = request.args.get('name', 'World') return f'Hello, {name}!, I am flask.' if __name__ == '__main__': app.run(host='0.0.0.0',debug=True, port=5000)
host 一定要写,不然访问不到。
2.利用pip freeze 生成依赖目录:在py目录运行:
pip freeze > require.txt
3.生成Dockerfile 文件:
FROM python:3.10.10 WORKDIR /app COPY . /app RUN pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip RUN pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r require.txt EXPOSE 5000 CMD ["python","first.py"]
4.到虚拟机的/vagrant/flask/目录下build 镜像。
sudo docker build -t pyweb:1.0 . // 注意最后一个点儿指当前目录。
docker images
docker rmi ID
5.创建容器。
sudo docker run -dit --restart=always -p 5000:5000 --name pyweb pyweb:1.0
或
docker run -it -p 5000:5000 --name pyweb -v /mydata/pyweb:/app -d pyweb:v1
如果 -v 则要先将 first.py 用 cp ./* /mydata/pyweb/ 复制过去,否则报错:python: can't open file '/app/first.py': [Errno 2] No such file or directory
之后就可以把 py 文件直接放到 /mydata/pyweb/中即可,实现同步更新。
docker update pyweb --restart=always
6.查看容器
docker ps
# 停止容器
docker [container] stop pyweb
# 删除容器
docker [container] rm pyweb
7.访问: localhost:5000/?name=xiao
关于人工智能、机器学习、深度学习的一些资源。
1.一篇文章让你彻底搞懂神经网络:从原理到优化如此简单_土豆西瓜大芝麻的博客-CSDN博客