Gradio_YOLOv5_Det/Dockerfile

25 lines
1.7 KiB
Docker

FROM docker.io/library/python:3.8.9
RUN sed -i 's http://deb.debian.org http://mirrors.ustc.edu.cn g' /etc/apt/sources.list && sed -i 's http://archive.ubuntu.com http://mirrors.ustc.edu.cn g' /etc/apt/sources.list && sed -i '/security/d' /etc/apt/sources.list && apt-get update && apt-get install -y git git-lfs ffmpeg libsm6 libxext6 cmake libgl1-mesa-glx && rm -rf /var/lib/apt/lists/* && git lfs install
WORKDIR /home/user/app
RUN useradd -m -u 1000 user
RUN chown -R 1000.1000 /home/user
RUN --mount=target=/root/packages.txt,source=packages.txt sed -i 's http://deb.debian.org http://mirrors.ustc.edu.cn g' /etc/apt/sources.list && sed -i 's http://archive.ubuntu.com http://mirrors.ustc.edu.cn g' /etc/apt/sources.list && sed -i '/security/d' /etc/apt/sources.list && apt-get update && xargs -r -a /root/packages.txt apt-get install -y && rm -rf /var/lib/apt/lists/*
USER 1000
RUN pip config set global.index-url https://pypi.mirrors.ustc.edu.cn/simple/
RUN pip install --no-cache-dir gradio==3.0.9
RUN pip install --no-cache-dir pip==22.3.1 && pip install --no-cache-dir datasets "huggingface-hub>=0.12.1" "protobuf<4" "click<8.1"
#COPY --link --chown=1000 --from=lfs /app /home/user/app
#RUN --mount=target=pre-requirements.txt,source=pre-requirements.txt pip install --no-cache-dir -r pre-requirements.txt
RUN --mount=target=requirements.txt,source=requirements.txt pip install --no-cache-dir -r requirements.txt
COPY --link --chown=1000 ./ /home/user/app
COPY --link --chown=1000 ultralytics /home/user/app/ultralytics
COPY --chown=1000 master /home/user/.cache/torch/hub/master.zip
COPY --chown=1000 --link fonts /home/user/app
ADD --chown=1000 model_download/yolov5 /home/user/app
CMD ["python", "app.py"]