20 lines
563 B
Docker
20 lines
563 B
Docker
FROM ubuntu:24.04
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
# Layer 1: OS packages - only rebuilds if this changes
|
|
RUN apt-get update && apt-get install -y \
|
|
python3 python3-pip x3270 s3270 \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /app
|
|
|
|
# Layer 2: Python deps - only rebuilds if requirements.txt changes
|
|
COPY requirements.txt .
|
|
RUN pip3 install --break-system-packages -r requirements.txt
|
|
|
|
# Layer 3: Python code - rebuilds on every code change
|
|
COPY *.py .
|
|
|
|
EXPOSE 8000
|
|
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000", "--log-level", "info"]
|