本教程是把windows里写的python程序转移到Linux容器中运行,使用1panel面板进行管理。


🔧 一、Windows 本地准备

1. 首先安装pipreqs

👉 它会扫描你的代码 import,自动生成依赖,注意使用管理员身份运行cmd进行安装

pip install pipreqs

win+R 打开运行窗口输入cmd,打开命令行:

然后切换到你的项目目录

cd/d 你的项目路径

使用pipreqs 导出项目使用过的库文件:

pipreqs . --force

然后再用freeze 导出系统里安装的库,然后把项目依赖库的版本替换为系统安装的库版本,并且注意一些特殊库的命名

pip freeze > requirements_all.txt

2. 确认你的 Flask 项目结构

然后去检查项目结构(我的是flask):
假设你项目是这样:

flask-app/

├── app.py
├── requirements.txt
└── config.py(可选)

3. 新建 Dockerfile(核心)

在项目根目录创建 Dockerfile,注意不能带任何后缀名,然后右击选择“打开方式”,在弹窗中选择“记事本”或者“VS Code”,输入下述内容

# flask 框架
FROM python:3.13-slim

WORKDIR /app

COPY . .

RUN pip install -r requirements.txt

CMD ["gunicorn", "-w", "4", "-b", "0.0.0.0:5000", "app:app"]
# 普通 python 程序运行(无需端口)

# 使用 slim 镜像减小体积
FROM python:3.9-slim

# 设置工作目录
WORKDIR /app

# 复制代码和依赖列表
COPY . .

# 安装依赖(如果有 requirements.txt)
RUN pip install --no-cache-dir -r requirements.txt

# 关键:直接运行你的脚本,让它常驻
CMD ["python", "main.py"]

📌 注意:

  • app:app = 文件名:Flask对象
  • 如果你文件叫 main.py → 写 main:app

🚀 二、上传到服务器(1Panel 所在机器)

打开浏览器输入1panel 后台管理地址进入管理界面,然后选择“系统”—“文件”:

然后选择主目录,在主目录中点进“opt”文件夹:

接着选择上传:

接着选择上传文件夹,把项目文件夹上传到1panel 中,注意一定要上传项目的文件夹而不是项目里面的文件夹:

🐳 三、在 1Panel 创建容器

紧接着进入容器页

👉 容器 → 镜像 → 构建镜像

📦 构建镜像
  • 名称:flask-app
  • Dockerfile路径:选择你上传的目录

点击构建 ✅

点击确认之后系统会开始构建镜像,这会下面的黑框可能不会显示啥内容,我们可以去旁边喝杯咖啡静静等待,或者忙活其他事情,过一会再来看看就会显示“镜像构建 成功”,此时我们可以进行下一步了。

▶️ 创建容器

👉 容器 → 创建容器

关键配置:

  • 名称:随便输入
  • 镜像:选择刚刚构建的
  • 端口映射:暴露端口,5000 → 5000

  • 网络:选择 bridge 或者 host 都可以,根据实际情况选择

启动容器 ✅

点击“确认”就可以开始构建容器了,构建后等待几分钟后状态显示黄色的“TASK-END”即可

🧪 测试一下(非常重要)

此时可以访问Linux主机的地址访问我们部署的网页——ip:5000

🌐 四、配置域名访问(反向代理)

小白教程1Panel设置nginx反向代理之不同子域名访问不同业务(2)_1panel管理面板如何设置用域名访问-CSDN博客

更多推荐