Dockerfile配置基于 Python 的 Web 应用镜像

  1. 基础镜像:使用官方的 Python 3.9 轻量级镜像
  2. 环境设置:禁用 Python 字节码生成并确保标准输出 / 错误流不缓冲
  3. 依赖安装
    • 先安装系统级依赖(如 gcc 和 Python 开发头文件)
    • 再安装 Python 包依赖(通过 requirements.txt)
  4. 文件拷贝:将项目文件复制到镜像中
  5. 端口暴露:默认暴露 8000 端口(可根据实际应用修改)
  6. 启动命令:示例使用 Django 的开发服务器启动命令(需根据实际应用修改)

使用方法:

  1. 在项目根目录创建 requirements.txt 文件列出所有依赖

  2. 将此 Dockerfile 放在项目根目录

  3. 构建镜像:docker build -t my-python-webapp .

  4. 运行容器:docker run -p 8000:8000 my-python-webapp

    使用官方 Python 基础镜像

    FROM python:3.9-slim

    设置工作目录

    WORKDIR /app

    设置环境变量

    ENV PYTHONDONTWRITEBYTECODE 1
    ENV PYTHONUNBUFFERED 1

    安装系统依赖

    RUN apt-get update && apt-get install -y --no-install-recommends gcc python3-dev

    安装 Python 依赖

    COPY requirements.txt .
    RUN pip install --no-cache-dir -r requirements.txt

    拷贝项目文件

    COPY . .

    暴露应用端口(根据实际应用修改)

    EXPOSE 8000

    启动应用(根据实际应用修改启动命令)

    CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

相关推荐
mldong1 小时前
引擎从不发一条消息:jeeflow 的两类扩展点与消息模块的分工
java·架构
君顾12 小时前
智慧零售实战指南:从技术架构到落地方案全解析
java·开发语言·零售
问天_观心3 小时前
大模型微调学习(二)
人工智能·python·深度学习·学习·语言模型·transformer
洋洋不叫杨杨3 小时前
揭秘当下知名的SEO优化渠道,你知道几个?
大数据·python
zhanghe6873 小时前
es的密码带有特殊字符,导出
java
阿童木写作3 小时前
跨境图片翻译工具推荐:批量处理视频字幕与智能抠图
python·音视频
梦曦i3 小时前
@meng-xi/create-uni-app vs unibest:轻量脚手架与重型框架的定位之争
前端·uni-app
平头哥技术团队3 小时前
Day 10 | 工欲善其事:VS Code 配置与项目归档
android·开发语言·前端·javascript·html·交互
pnoker3 小时前
IoT DC3 概念解读:把设备抽象成一套语义模板——位号、指令、事件与面向智能体的设备建模
java·人工智能·物联网·iot·dc3
my_realmy3 小时前
Java SE 基础学习笔记(一):面向对象、继承多态、抽象接口与异常(JDK 8)
java·多线程·并发··生产者消费者模式