Можно ли запустить tenorflow-gpu внутри контейнера Docker от имени пользователя без полномочий root? - PullRequest
1 голос
/ 29 марта 2019

Я настраиваю докер-контейнер для разработки с tenorflow-gpu с использованием графических процессоров nvidia. Я надеюсь заставить все это работать как пользователь без полномочий root внутри контейнера. Контейнер отлично работает как пользователь root. Любые идеи, что мне нужно сделать, чтобы настроить контейнер для работы с пользователем без полномочий root?

Я пытался изменить разрешения для пользователя внутри контейнера, но, похоже, это не работает. Кроме того, не удалось найти какую-либо информацию или связанный вопрос с помощью Google, который помог бы решить эту проблему.

Я также пытался сравнить настройки среды между пользователем root и фактическим пользователем, но также не нашел оттуда подсказок. Также отметим, что вызов nvidia-smi работает как для пользователя root, так и для пользователя без полномочий root.

Я построил изображение, используя эту ссылку в качестве отправной точки: https://gitlab.com/nvidia/cuda/blob/ubuntu16.04/9.0/runtime/cudnn7/Dockerfile

Кроме того, я установил Python3.5 с необходимыми пакетами, включая тензор-gpu.

Также я создал пользователя в изображение, как показано ниже.

ARG USER_NAME
ARG USER_ID 
ARG GROUP_ID

RUN groupadd -g 1004 ${GROUP_ID}
RUN useradd -rml -d /home/${USER_NAME} -s /bin/bash -g ${GROUP_ID} -u ${USER_ID} ${USER_NAME} 

Таким образом, файлы, созданные контейнером, принадлежат мне на хосте, что является желаемым результатом. Это отлично работает.

Я пробовал эту настройку от имени пользователя root, и она работает.

$ sudo docker run -u root -it --runtime=nvidia -v /home/$(whoami):/home/$(whoami) gpu-env bash
$ python3
>>> import tensorflow as tf
>>>

Однако это не работает.

$ sudo docker run -it --runtime=nvidia -v /home/$(whoami):/home/$(whoami) gpu-env bash
$ python3
>>> import tensorflow as tf
Traceback (most recent call last):
...
ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...