From 02ea79401562bf9b6a907ce78b5d7996590cdb98 Mon Sep 17 00:00:00 2001 From: v6ole Date: Sat, 9 May 2026 14:20:59 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=20Docker=20=E9=83=A8?= =?UTF-8?q?=E7=BD=B2=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 通过 Dockerfile 和 docker-compose.yml 提供容器化部署方案。 --- docker/Dockerfile | 16 ++++++++++++++++ docker/docker-compose.yml | 12 ++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 docker/Dockerfile create mode 100644 docker/docker-compose.yml diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..9191c99 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,16 @@ +FROM python:3.12-slim + +WORKDIR /app + +RUN apt-get update && apt-get install -y --no-install-recommends \ + libpq-dev && \ + rm -rf /var/lib/apt/lists/* + +COPY pyproject.toml . +RUN pip install --no-cache-dir -e ".[dev]" + +COPY . . + +EXPOSE 8000 + +CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"] diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml new file mode 100644 index 0000000..15f26bd --- /dev/null +++ b/docker/docker-compose.yml @@ -0,0 +1,12 @@ +services: + app: + build: + context: .. + dockerfile: docker/Dockerfile + ports: + - "8000:8000" + env_file: + - ../.env + volumes: + - ../logs:/app/logs + restart: unless-stopped