python项目打包成镜像使用docker运行
·
python项目打包成镜像使用docker运行
众所周知,python是解释型脚本语言,无需编译即可运行,但是同时也强依赖于运行环境,而将运行环境和项目程序一同打包到docker镜像中,可以方便快速的移植部署。(以下方法为手动拷贝项目到linux服务器,如果需要可以使用git对代码进行管理)
假设你的项目目录结构如下:

1.创建requirements.txt
在项目根目录下创建requirements.txt文件,用于记录项目运行所需的所有第三方库及其精确版本。
Logbook==1.7.0.post0
pandas==2.0.3
PyMySQL==1.1.1
Requests==2.32.3
Flask==2.0.3
werkzeug==2.0.3
2.创建Dockerfile
在项目根目录创建Dockerfile文件。
# Python基础镜像
FROM docker.m.daocloud.io/library/python:3.8-slim
# 设置工作目录
WORKDIR /
# 复制requirements.txt文件
COPY /requirements.txt .
# 安装依赖(官方源速度较慢,使用阿里源)
RUN pip install --no-cache-dir -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
# 复制应用程序代码
COPY ./ .
# 暴露端口(如果你的应用需要)
EXPOSE 5000
# 定义环境变量(可选)
# ENV FLASK_APP=main.py
# ENV FLASK_ENV=production
# 运行命令
CMD ["python", "app.py"]
3.创建.dockerignore文件
防止不必要的文件被复制到镜像中,在根目录下创建.dockerignore文件
__pycache__
*.pyc
*.pyo
*.pyd
.Python
env
venv
.venv
.git
.DS_Store
4.构建Docker镜像
docker build -t zhgc-tools .
5.运行容器
docker run -d -p 5000:5000 --name zhgc-tools zhgc-tools
查看容器运行情况,说明服务正常部署

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)