c1a5d7a425
M1-T04 deleted the alembic_location / alembic_poo chains and their .ini files, but the Dockerfile still COPYed those four paths, so the release image build failed at 'COPY alembic_poo.ini ./' (path not found). Drop the four stale COPY lines (only alembic_app remains). Add test_dockerfile_copy_sources_exist, which asserts every Dockerfile COPY source exists in the build context, so this class of breakage fails pytest instead of only surfacing in the image CI. Verified with a real local 'docker build' (succeeds) and pytest (98 passed).
23 lines
451 B
Docker
23 lines
451 B
Docker
FROM python:3.12-slim
|
|
|
|
ENV PYTHONDONTWRITEBYTECODE=1 \
|
|
PYTHONUNBUFFERED=1
|
|
|
|
WORKDIR /app
|
|
|
|
COPY requirements.txt ./
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
COPY app ./app
|
|
COPY alembic_app ./alembic_app
|
|
COPY alembic_app.ini ./
|
|
COPY scripts ./scripts
|
|
COPY docker ./docker
|
|
COPY README.md ./
|
|
RUN mkdir -p /app/data
|
|
|
|
EXPOSE 8000
|
|
|
|
ENTRYPOINT ["/app/docker/entrypoint.sh"]
|
|
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
|