五分钟快速部署:用 Docker 和 Docker Compose 部署 FastAPI 应用
本指南提供一个极简的 FastAPI 应用从代码到部署的全流程。
1. 准备项目文件
创建项目目录,并在此目录下创建以下文件:
1. main.py (FastAPI 应用代码)
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}2. requirements.txt (项目依赖)
fastapi==0.104.1
uvicorn[standard]==0.24.03. Dockerfile (构建镜像的指令)
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]4. docker-compose.yml (定义和启动服务)
services:
fastapi-app:
build: .
container_name: my-fastapi-app
ports:
- "8000:8000"
restart: unless-stopped2. 部署命令
- 将以上文件通过 1Panel 的文件管理器或
scp命令上传到服务器。 - 在服务器上,进入项目目录。
- 执行一键部署命令:
docker-compose up -d - 访问
http://你的服务器IP:8000查看结果,访问http://你的服务器IP:8000/docs查看交互文档。
3. 项目结构
my-fastapi-project/
├── main.py
├── requirements.txt
├── Dockerfile
└── docker-compose.yml