尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

FastAPI docker demo

FastAPI docker demo
📅 发布时间:2026/6/20 18:43:28

使用Docker来启动fastapi项目:

# 第一阶段:安装必要的软件
FROM python:3.12-slim as BASEENV DEBIAN_FRONTEND=noninteractive \PYTHONUNBUFFERED=1 \PIP_DEFAULT_TIMEOUT=100 \UV_SYSTEM_PYTHON=1# Install system packages
RUN set -eux; \python -c 'a="deb.debian.org";b="mirrors.aliyun.com";f="/etc/apt/sources.list.d/debian.sources";from pathlib import Path;p=Path(f);s=p.read_text();ss=s.replace(a,b);p.write_text(ss)' && \ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \echo 'Asia/Shanghai' >/etc/timezone && \apt-get update && \apt-get install -y --no-install-recommends \build-essential \curl \pkg-config \libssl-dev \postgresql-client \libpq-dev \&& \apt-get clean && \rm -rf /var/lib/apt/lists/*# 第二阶段:安装Python依赖库
FROM base AS dependenciesWORKDIR /app# Install uv - Method 1: Copy the binary from its official image
# ghcr.io是github的官方镜像仓库,速度很慢,采用nju大学镜像源加速
# #COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
COPY --from=ghcr.nju.edu.cn/astral-sh/uv:latest /uv /uvx /bin/# 如果nju的也慢,可以注释掉上面那行,改用pip安装:
# Install uv - Method 2: Install by pip
#RUN pip install --upgrade pip -i https://mirrors.aliyun.com/pypi/simple && \
#    pip install pip-conf-mirror -i https://mirrors.aliyun.com/pypi/simple && \
#    pip-conf-mirror --pip qinghua && pip install uv && pip-conf-mirror --uv qinghua# 复制项目依赖文件(优先复制依赖文件,利用 Docker 缓存)
COPY pyproject.toml uv.lock* ./# Install CPU pytorch
#RUN pip install --no-cache-dir torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
# Install GPU pytorch
#RUN pip install --no-cache-dir torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu130# 使用 uv 安装项目依赖(直接安装到系统 Python 环境,不创建虚拟环境)
RUN uv pip install -i https://mirrors.aliyun.com/pypi/simple -r pyproject.toml && uv cache clean# 第三阶段:复制应用程序代码
FROM dependencies AS sourceWORKDIR /appCOPY . .# 第四阶段:生产环境镜像
FROM source AS releaseENV STAGE="production"
EXPOSE 8000CMD ["sh", "-c", "STAGE=$STAGE uvicorn main:app --host 0.0.0.0 --port 8000"]

Refs:
https://betterstack.com/community/guides/scaling-docker/docker-build-best-practices/
https://www.cnblogs.com/coreylin/p/17349146.html

相关新闻

  • 2025年铁氟龙膜源头厂家权威推荐榜单:特氟龙膜/PTFE膜/聚四氟乙烯膜源头厂家精选
  • 我的代码入选GitHub北极代码库
  • 兰州市一对一培训机构推荐,2026年最新课外辅导补习机构口碑深度测评排名榜

最新新闻

  • InsightFace人脸识别服务:CPU/多卡GPU/TensorRT三模式Docker一键部署包
  • 百度网盘解析工具终极指南:3步获取高速下载链接
  • 云原生时代后端技术栈的演进与趋势
  • 跨省寄大件哪家便宜又安全?2026物流比价攻略 - 快递物流资讯
  • Kimi K2.5模型架构深度解析:超长上下文工业级优化实战
  • 广东卖名酒不想吃亏?找这家就对了!多维度实力解析,全粤跨城高价上门回收 - 爱吃西瓜的西高地

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号