Shashank2k3 commited on
Commit
7373a44
·
verified ·
1 Parent(s): 1be6960

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +10 -7
Dockerfile CHANGED
@@ -4,28 +4,31 @@ ENV PIP_NO_CACHE_DIR=1 \
4
  PYTHONDONTWRITEBYTECODE=1 \
5
  PYTHONUNBUFFERED=1
6
 
 
7
  WORKDIR /app
8
 
9
- # Minimal system deps; no recommends = smaller image
10
  RUN apt-get update && apt-get install -y --no-install-recommends \
11
  build-essential \
12
  curl \
13
  git \
14
- && rm -rf /var/lib/apt/lists/*
15
 
16
- # Install Python deps first to leverage Docker layer caching
17
  COPY requirements.txt ./
18
  RUN pip install --upgrade pip setuptools wheel \
19
  && pip install --prefer-binary -r requirements.txt
20
 
21
- # Copy application code and the model artifact
22
  COPY src/ ./src/
23
- COPY classifier.pkl ./ # <-- ensures joblib.load("classifier.pkl") works
24
 
25
  EXPOSE 8501
26
 
27
- # Healthcheck (retry-friendly)
28
  HEALTHCHECK --interval=30s --timeout=3s --retries=3 \
29
  CMD curl --fail http://localhost:8501/_stcore/health || exit 1
30
 
31
- ENTRYPOINT ["streamlit", "run", "src/streamlit_app.py", "--server.port=8501", "--server.address=0.0.0.0"]
 
 
 
4
  PYTHONDONTWRITEBYTECODE=1 \
5
  PYTHONUNBUFFERED=1
6
 
7
+ # App root
8
  WORKDIR /app
9
 
10
+ # System deps
11
  RUN apt-get update && apt-get install -y --no-install-recommends \
12
  build-essential \
13
  curl \
14
  git \
15
+ && rm -rf /var/lib/apt/lists/*
16
 
17
+ # Python deps first (better layer caching)
18
  COPY requirements.txt ./
19
  RUN pip install --upgrade pip setuptools wheel \
20
  && pip install --prefer-binary -r requirements.txt
21
 
22
+ # App code and model
23
  COPY src/ ./src/
24
+ COPY classifier.pkl ./src/
25
 
26
  EXPOSE 8501
27
 
28
+ # Healthcheck
29
  HEALTHCHECK --interval=30s --timeout=3s --retries=3 \
30
  CMD curl --fail http://localhost:8501/_stcore/health || exit 1
31
 
32
+ # Run from /app/src so relative paths resolve (classifier.pkl)
33
+ WORKDIR /app/src
34
+ ENTRYPOINT ["streamlit", "run", "streamlit_app.py", "--server.port=8501", "--server.address=0.0.0.0"]