Docker сочинять с GluonCV и CUDA - отсутствует libcuda.so.1 - PullRequest
0 голосов
/ 10 марта 2020

Я пытаюсь использовать Docker compose для интеграции моего приложения в систему. В частности, мой контейнер - это детектор объектов, реализованный с использованием m xnet и GluonCV, и я хочу запустить его на графическом процессоре.

Для создания контейнера я использую этот файл Docker:

FROM nvidia/cuda:10.0-runtime-ubuntu18.04

ENV DEBIAN_FRONTEND=noninteractive

# SYSTEM PACKAGES
 RUN apt-get update -y && apt-get install -y --fix-missing \
    build-essential \
    wget \
    libopencv-dev \
    pkg-config \
    python-dev \
    python-pip \
    python3-dev \
    python3-pip \
    python3-numpy \
    && apt-get clean && rm -rf /tmp/* /var/tmp/*


WORKDIR src
COPY src/requirements_all.txt ./requirements_all.txt
RUN pip3 install --no-cache-dir -r requirements_all.txt
ADD src/ .
CMD [ "python3", "main.py"]

и этот "needs_all.txt" для необходимых пакетов:

colorlog==4.1.0
imutils==0.5.3
requests==2.22.0
opencv-python==4.1.0.25
gluoncv==0.6.0
mxnet-cu100mkl==1.5.1.post0
numpy==1.17.4
pika==1.1.0

Я построил образ нормально (docker_obj_det_00), это релевантная часть docker -compose. yml:

version: "3"
services:
        objects-recognizer:
        build: ./object-rec
        image: docker_obj_det_00
        restart: on-failure
        privileged: true
        environment:
            [...]
        depends_on:
            [...]

Проблема в том, что, когда я пытаюсь создать среду, запустив:

docker-compose -f docker-compose.yml up --build

Я получаю сообщение об ошибке:

File "/usr/lib/python3.6/ctypes/__init__.py", line 348, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: libcuda.so.1: cannot open shared object file: No such file or directory

Итак, я полагаю, что при создании моего контейнера есть некоторые недостающие библиотеки, любая udea, как это решить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...