I have a local python package which can be installed through poetry. From what I can see, we have to do a git clone of the repo first, and then install it?
Could someone please share some type of resource that explains how to do this properly?
It seems like this Dockerfile needs to be in the ML repo where the model pth file is stored. So that when the docker image is created, the same environment can be used to set up the docker.
FROM pytorch/torchserve:latest-cpu
USER root # why?
COPY ./model-server/requirements.txt .
RUN apt-get install -y git poetry # for some reason this fails because it cannot find package Poetry
# however, the following would look like:
RUN git clone https://github.com/user/repo.git
WORKDIR /repo
RUN poetry install
RUN python3 -m pip install --no-cache-dir -r requirements.txt
USER model-server # why?
COPY path/to/local_file path/in/image # [ for all required files]
USER root # why ?
RUN printf "\nservice_envelope=json" >> /home/model-server/config.properties
RUN printf "\ninference_address=http://0.0.0.0:7080" >> /home/model-server/config.properties
RUN printf "\nmanagement_address=http://0.0.0.0:7081" >> /home/model-server/config.properties
USER model-server # why?
EXPOSE 7080
EXPOSE 7081
RUN torch-model-archiver -f --model-name model_v1 --version 1.0 --serialized-file=/home/model-server/model.pth --model-file=/home/model-server/model.py --handler=/home/model-server/custom_handler.py --extra-files=/home/model-server/config.json,/home/model-server/conf.yaml --export-path=/home/model-server/model-store
CMD ["torchserve", "--ncs", "--start", "--ts-config=/home/model-server/config.properties", "--models", "model_v1.mar", "--model-store", "/home/model-server/model-store"]