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"]

相关推荐
LFly_ice8 分钟前
学习React-16-useContext
前端·学习·react.js
陈陈CHENCHEN15 分钟前
使用 Vite 快速创建 React 项目 - SuperMap iClient JavaScript / Leaflet
前端·react.js
用户68833620597018 分钟前
Progressive Web App (PWA)
前端
沢田纲吉20 分钟前
《LLVM IR 学习手记(二):变量表达式编译器的实现与深入解析》
前端·编程语言·llvm
小徐_233320 分钟前
VitePress 博客变身 APP,支持离线访问,只需这一招。
前端·vitepress·pwa
猪哥帅过吴彦祖20 分钟前
第 5 篇:WebGL 从 2D 到 3D - 坐标系、透视与相机
前端·javascript·webgl
咖啡Beans21 分钟前
SpringBoot集成Clickhouse
java·spring boot
折七22 分钟前
expo sdk53+ 集成极光推送消息推送 ios swift
前端·javascript·ios
猪哥帅过吴彦祖23 分钟前
Flutter 系列教程:布局基础 (上) - `Container`, `Row`, `Column`, `Flex`
前端·flutter·ios
lifejump23 分钟前
DVWA | XSS 跨站脚本注入
前端·xss