# For more information, please refer to https://aka.ms/vscode-docker-python | |
#FROM python:3.10-slim | |
FROM nvidia/cuda:11.8.0-cudnn8-devel-ubuntu22.04 | |
# Install Python and pip | |
RUN apt-get update && apt-get install -y python3-pip python3-venv | |
# Where we'll copy the code | |
WORKDIR /code | |
# Copy the current directory contents into the container at /code | |
COPY ./requirements.txt /code/requirements.txt | |
# Install pip requirements without venv | |
#RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt | |
# Create a virtual environment and install pip requirements | |
RUN python3 -m venv /code/venv | |
RUN /code/venv/bin/pip install --no-cache-dir --upgrade pip | |
RUN /code/venv/bin/pip install --no-cache-dir --upgrade -r /code/requirements.txt | |
# Set the PATH to include the virtual environment's bin directory | |
ENV PATH="/code/venv/bin:$PATH" | |
# Creates a non-root user with an explicit UID | |
# For more info, please refer to https://aka.ms/vscode-docker-python-configure-containers | |
RUN useradd -m -u 1000 user | |
USER user | |
# Set home to the user's home directory | |
ENV HOME=/home/user \ | |
PATH=/home/user/.local/bin:$PATH | |
# Set the working directory to the user's home directory | |
WORKDIR $HOME/app | |
# Copy the current directory contents into the container at $HOME/app setting the owner to the user | |
COPY --chown=user . $HOME/app | |
# During debugging, this entry point will be overridden. For more information, please refer to https://aka.ms/vscode-docker-python-debug | |
#CMD ["app:app", "--host", "0.0.0.0", "--port", "7860"] | |
# Expose port 7860 | |
EXPOSE 7860 | |
ENV GRADIO_SERVER_NAME="0.0.0.0" | |
CMD ["python", "app.py"] | |