Как запустить скрипт оболочки инициализации среды из Dockerfile - PullRequest
0 голосов
/ 06 июня 2019

Я пытаюсь создать API, обернутый в образ докера, который обслуживает модель Openvino.Как запустить «setupvars.sh» из самого Dockerfile, чтобы мое приложение могло получить к нему доступ?

Я попытался запустить скрипт с помощью RUN.Например: RUN / bin / bash setupvars.sh или RUN ./setupvars.sh.Однако, ни один из них не работает, и я получаю ModelNotFoundError: нет модуля с именем openvino

RUN $INSTALL_DIR/install_dependencies/install_openvino_dependencies.sh
RUN cd /opt/intel/openvino/deployment_tools/model_optimizer/install_prerequisites && sudo ./install_prerequisites_tf.sh
COPY . /app
WORKDIR /app
RUN apt autoremove -y && \
    rm -rf /openvino /var/lib/apt/lists/*
RUN /bin/bash -c "source $INSTALL_DIR/bin/setupvars.sh"
RUN echo "source $INSTALL_DIR/bin/setupvars.sh" >> /root/.bashrc
CMD ["/bin/bash"]
RUN python3 -m pip install opencv-python
RUN python3 test.py

Я хочу, чтобы OpenVino был доступен для моего приложения gunicorn, которое будет обслуживать модель в образе докера

1 Ответ

0 голосов
/ 06 июня 2019

Следующие команды работают для меня.

ARG OPENVINO_DIR=/opt/intel/computer_vision_sdk


# Unzip the OpenVINO installer
RUN cd ${APP_DIR} && tar -xvzf l_openvino_toolkit*

# installing OpenVINO dependencies
RUN cd ${APP_DIR}/l_openvino_toolkit* && \
    ./install_cv_sdk_dependencies.sh

# installing OpenVINO itself
RUN cd ${APP_DIR}/l_openvino_toolkit* && \
    sed -i 's/decline/accept/g' silent.cfg && \
    ./install.sh --silent silent.cfg

# Setup the OpenVINO environment
RUN /bin/bash -c "source ${OPENVINO_DIR}/bin/setupvars.sh"
...