| ARG PYTORCH="1.9.0" |
| ARG CUDA="11.1" |
| ARG CUDNN="8" |
| FROM pytorch/pytorch:${PYTORCH}-cuda${CUDA}-cudnn${CUDNN}-devel |
|
|
| ARG MMCV="2.0.0rc4" |
| ARG MMDET="3.0.0" |
|
|
| ENV PYTHONUNBUFFERED TRUE |
|
|
| |
| |
| RUN rm /etc/apt/sources.list.d/cuda.list \ |
| && rm /etc/apt/sources.list.d/nvidia-ml.list \ |
| && apt-get update \ |
| && apt-get install -y wget \ |
| && rm -rf /var/lib/apt/lists/* \ |
| && apt-key del 7fa2af80 \ |
| && apt-get update && apt-get install -y --no-install-recommends wget \ |
| && wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-keyring_1.0-1_all.deb \ |
| && dpkg -i cuda-keyring_1.0-1_all.deb |
| |
| |
|
|
| |
| RUN apt-get update && \ |
| DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \ |
| ca-certificates \ |
| g++ \ |
| openjdk-11-jre-headless \ |
| |
| ffmpeg libsm6 libxext6 git ninja-build libglib2.0-0 libsm6 libxrender-dev libxext6 \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| ENV PATH="/opt/conda/bin:$PATH" \ |
| FORCE_CUDA="1" |
|
|
| |
| RUN pip install torchserve torch-model-archiver nvgpu -i https://pypi.mirrors.ustc.edu.cn/simple/ |
|
|
| |
| ARG PYTORCH |
| ARG CUDA |
| RUN pip install mmengine -i https://pypi.mirrors.ustc.edu.cn/simple/ |
| RUN ["/bin/bash", "-c", "pip install mmcv==${MMCV} -f https://download.openmmlab.com/mmcv/dist/cu${CUDA//./}/torch${PYTORCH}/index.html"] |
| RUN pip install mmdet==${MMDET} -i https://pypi.mirrors.ustc.edu.cn/simple/ |
|
|
| RUN useradd -m model-server \ |
| && mkdir -p /home/model-server/tmp |
|
|
| COPY entrypoint.sh /usr/local/bin/entrypoint.sh |
|
|
| RUN chmod +x /usr/local/bin/entrypoint.sh \ |
| && chown -R model-server /home/model-server |
|
|
| COPY config.properties /home/model-server/config.properties |
| RUN mkdir /home/model-server/model-store && chown -R model-server /home/model-server/model-store |
|
|
| EXPOSE 8080 8081 8082 |
|
|
| USER model-server |
| WORKDIR /home/model-server |
| ENV TEMP=/home/model-server/tmp |
| ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] |
| CMD ["serve"] |
|
|