当前位置: 首页 > news >正文

基于Dockerfile 部署一个 Flask 应用

Docker 与 Python:容器化部署应用,实现快速发布与弹性伸缩

以下是一个简单的 Flask 应用

# app.py - 一个简单的Flask应用
from flask import Flask
import osapp = Flask(__name__)@app.route("/")
def hello():env = os.environ.get('FLASK_ENV', "local")print('environ---', os.environ.get('FLASK_ENV', "local"))return "Hello Docker World!" + f"env={env}"@app.route("/health")
def health():return {"status": "healthy"}if __name__ == '__main__':app.run(host='0.0.0.0', port=5000)

同目录下有个 requirements.txt 文件,项目依赖文件

Flask==2.3.3
gunicorn==21.2.0

接下来是 Dockerfile ,这是个构建容器的文件

# 选择基础镜像 -python 3.9 官方镜像
FROM python:3.9-slim# 设置工作目录
WORKDIR /app# 复制依赖文件
COPY requirements.txt .# 安装 Python依赖
RUN pip install --no-cache-dir -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/# 复制应用代码
COPY . .# 暴露端口
EXPOSE 5000# 定义启动命令
CMD ["python", "app.py"]# 也可以借助 gunicorn 替代 Flask 开发服务器
# CMD ["gunicorn", "--bind", "0.0.0.0:5000", "app:app"]

接下来构建镜像

# 构建Docker镜像
docker build -t my-python-app .# 运行容器
docker run -p 5000:5000 my-python-app

然后访问我们的接口

http://123.57.31.157:5000/http://123.57.31.157:5000/health

然后是 docker-compose.yml 方便本地开发

services:web:image: my-python-app:latestports:- "5000:5000"environment:- FLASK_ENV=development
http://www.dtcms.com/a/311407.html

相关文章:

  • WAIC引爆AI,智元机器人收购上纬新材,Geek+上市,157起融资撑起热度|2025年7月人工智能投融资观察 · 极新月报
  • 【传奇开心果系列】Flet框架流式输出和实时滚动页面的智能聊天机器人自定义模板
  • github在界面创建tag
  • 性能测试-性能测试中的经典面试题二
  • 超级人工智能+无人机操控系统,振兴乡村经济的加速器,(申请专利应用),严禁抄袭!
  • spring-ai-alibaba 学习(十九)——graph之条件边、并行节点、子图节点
  • linux编译基础知识-库文件标准路径
  • Docker 的网络模式
  • 3 使用 Jenkins 构建镜像:将你的应用打包成镜像
  • 【20min 急速入门】使用Demucs进行音轨分离
  • ffmpeg命令和ffplay命令详解
  • Java高性能编程实践指南
  • ARM Cortex-M异常处理高级特性详解
  • OpenCV 全解读:核心、源码结构与图像/视频渲染能力深度对比
  • [硬件电路-121]:模拟电路 - 信号处理电路 - 模拟电路中常见的难题
  • 网络编程之原始套接字
  • Anthropic:跨越生产效能拐点的AI增长飞轮
  • [硬件电路-123]:模拟电路 - 信号处理电路 - 常见的高速运放芯片、典型电路、电路实施注意事项
  • 淘宝小程序的坑
  • 阿里云部署微调chatglm3
  • 音视频学习(四十七):模数转换
  • 文心4.5开源测评:国产大模型的轻量化革命与全栈突破
  • Unity_数据持久化_C#处理XML文件
  • Ubuntu18网络连接不上也ping不通网络配置问题排查与解决方法
  • Pyspark的register方法自定义udf函数
  • Android13文件管理USB音乐无专辑图片显示的是同目录其他图片
  • JVM 02 垃圾回收
  • PyTorch基础 :三角函数与特殊运算
  • 隧道照明“隐形革命”:智能控制如何破解安全与节能双重命题
  • k8s集群部署(脚本版)