# Use an official Python runtime as a parent image | |
FROM python:3.8-slim-buster | |
# Set the working directory in the container | |
WORKDIR /app | |
# Install system and Python dependencies | |
RUN apt-get update && \ | |
apt-get install -y build-essential openslide-tools libgl1-mesa-glx && \ | |
apt-get clean && \ | |
rm -rf /var/lib/apt/lists/* | |
# Add a non-root user with a specified UID | |
ARG USER_ID | |
RUN adduser --disabled-password --gecos '' --uid $USER_ID myuser | |
# Copy the entire genomic_plip_model directory contents into the container at /app | |
COPY ./ /app/ | |
# Install Python dependencies | |
RUN pip install -r requirements.txt | |
# Set the user to the newly created non-root user | |
USER myuser | |
# Expose a port (if necessary for your application) | |
EXPOSE 8888 | |
# Set the entrypoint to a shell command | |
ENTRYPOINT ["/bin/bash"] | |