使用 Docker Compose 发布一个基于 FastAPI 的 Python 项目,你可以按照以下步骤进行配置:
1. 创建 Dockerfile
首先,在你的项目根目录下创建一个 Dockerfile
,这个文件用来定义如何构建你的 FastAPI 项目。以下是一个示例 Dockerfile
:
# 使用官方 Python 镜像作为基础镜像
FROM python:3.10# 设置工作目录
WORKDIR /app# 复制当前目录下的所有文件到工作目录
COPY . .# 安装依赖
RUN pip install --no-cache-dir --upgrade pip
RUN pip install --no-cache-dir -r requirements.txt# 暴露端口
EXPOSE 8000# 运行命令
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
请确保 requirements.txt
文件列出了你的项目所需的所有 Python 依赖库。
2. 创建 docker-compose.yml
在项目的根目录下创建 docker-compose.yml
文件,用于定义 Docker Compose 配置。示例如下:
version: '3.8'services:fastapi:build: .container_name: fastapi_containerports:- "8000:8000"volumes:- .:/appenvironment:- ENV=productiondepends_on:- dbdb:image: postgres:13container_name: postgres_containerenvironment:POSTGRES_USER: your_db_userPOSTGRES_PASSWORD: your_db_passwordPOSTGRES_DB: your_db_nameports:- "5432:5432"volumes:- postgres_data:/var/lib/postgresql/datavolumes:postgres_data:
3. 运行 Docker Compose
在项目根目录下运行以下命令来启动 Docker Compose:
docker-compose up --build
4. 测试 FastAPI 服务
在浏览器中访问 http://localhost:8000/docs
,你应该能够看到 FastAPI 的自动生成 API 文档。
5. 常用 Docker Compose 命令
- 启动服务:
docker-compose up
或者docker-compose up -d
(后台运行)。 - 停止服务:
docker-compose down
。 - 重建服务:
docker-compose up --build
。 - 查看日志:
docker-compose logs
或者docker-compose logs -f
(实时日志)。
这样,你就可以通过 Docker Compose 将你的 FastAPI 项目进行容器化部署了。