gajjarbhavin99's picture
Update Dockerfile
2314b8e verified
# ARG PYTORCH="1.12.1"
# ARG CUDA="11.3"
# ARG CUDNN="8"
FROM python:3.9
# FROM pytorch/pytorch:${PYTORCH}-cuda${CUDA}-cudnn${CUDNN}-devel
# # fetch the key refer to https://forums.developer.nvidia.com/t/18-04-cuda-docker-image-is-broken/212892/9
# RUN apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pub 32
# RUN apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/7fa2af80.pub
# ENV TORCH_CUDA_ARCH_LIST="6.0 6.1 7.0+PTX"
# ENV TORCH_NVCC_FLAGS="-Xfatbin -compress-all"
# ENV CMAKE_PREFIX_PATH="(dirname(which conda))/../"
# RUN apt-get update && apt-get install -y ffmpeg libsm6 libxext6 git ninja-build libglib2.0-0 libsm6 libxrender-dev libxext6 \
# && apt-get clean \
# && rm -rf /var/lib/apt/lists/*
# update requirements
WORKDIR /code
COPY ./requirements.txt /code/requirements.txt
RUN apt-get update && apt-get install -y libgl1
RUN pip install torch==2.0.0 torchvision==0.15.1 torchaudio==2.0.1 --index-url https://download.pytorch.org/whl/cu118
RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
# Install MMcv
# RUN pip install -U openmim
# RUN mim install mmcv==2.0.0
# Install MMPretrain
RUN git clone https://github.com/open-mmlab/mmpretrain.git
WORKDIR mmpretrain
RUN git checkout 4dd8a861456a88966f1672060c1f7b24f05ec363
RUN pip install -U openmim && mim install -e .
# RUN mim install --no-cache-dir -e .
WORKDIR /code
# Install mmdet
# RUN mim install mmengine
RUN git clone https://github.com/open-mmlab/mmdetection.git
WORKDIR mmdetection
RUN git checkout v3.1.0
RUN pip install -e .
WORKDIR /code
RUN pip install mmcv==2.0.1 -f https://download.openmmlab.com/mmcv/dist/cu118/torch2.0/index.html
# Set up a new user named "user" with user ID 1000
RUN useradd -m -u 1000 user
# Switch to the "user" 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
# # Gradio setup
# RUN pip install --no-cache-dir gradio
# EXPOSE 7860
# ENV GRADIO_SERVER_NAME="0.0.0.0"
CMD ["python", "app.py"]