Fix file mounts (work dir change) and python reloading

Signed-off-by: Michael Irwin <mikesir87@gmail.com>
This commit is contained in:
Michael Irwin
2023-10-27 13:55:40 -04:00
parent c688f50b0d
commit 5c3aa29ac7
2 changed files with 18 additions and 8 deletions

View File

@@ -4,9 +4,9 @@
services:
vote:
build: ./vote
# use python rather than gunicorn for local dev
command: python app.py
build:
context: ./vote
target: dev
depends_on:
redis:
condition: service_healthy
@@ -17,7 +17,7 @@ services:
retries: 3
start_period: 10s
volumes:
- ./vote:/app
- ./vote:/usr/local/app
ports:
- "5000:80"
networks:
@@ -32,7 +32,7 @@ services:
db:
condition: service_healthy
volumes:
- ./result:/app
- ./result:/usr/local/app
ports:
- "5001:80"
- "127.0.0.1:9229:9229"

View File

@@ -1,7 +1,7 @@
# Using official python runtime base image
FROM python:3.11-slim
# Define a base stage that uses the official python runtime base image
FROM python:3.11-slim AS base
# add curl for healthcheck
# Add curl for healthcheck
RUN apt-get update && \
apt-get install -y --no-install-recommends curl && \
rm -rf /var/lib/apt/lists/*
@@ -13,6 +13,16 @@ WORKDIR /usr/local/app
COPY requirements.txt ./requirements.txt
RUN pip install --no-cache-dir -r requirements.txt
# Define a stage specifically for development, where it'll watch for
# filesystem changes
FROM base AS dev
RUN pip install watchdog
ENV FLASK_ENV=development
CMD ["python", "app.py"]
# Define the final stage that will bundle the application for production
FROM base AS final
# Copy our code from the current folder to the working directory inside the container
COPY . .