Невозможно получить доступ к графическому процессору после ch root в контейнере nvidia docker - PullRequest
0 голосов
/ 09 мая 2020

Я собираюсь создать ch root jail /sandbox и получить доступ к GPU в jail /sandbox в контейнере nvidia docker на основе nvidia/cuda:10.0-base image. Сначала я пытаюсь запустить контейнер и показать информацию о графическом процессоре в контейнере.

nvidia-docker run -it --rm --privileged nvidia/cuda:10.0-base
nvidia-smi

Он успешно распечатывает информацию о графическом процессоре, подобную этой nvidia GPU info . Теперь я собираюсь создать ch root jail /sandbox в контейнере, и приведенные ниже команды будут инструктировать внутри контейнера.

mkdir /sandbox
mount -o bind /bin /sandbox/bin
mount -o bind /lib /sandbox/lib
mount -o bind /lib64 /sandbox/lib64
mount -o bind /usr /sandbox/usr
mount -o bind /proc /sandbox/proc
mount -o bind /dev /sandbox/dev
mount -o bind /tmp /sandbox/tmp

Я почти все монтирую под / в /sandbox, и теперь я сделаю свой / каталог /sandbox

cd /sandbox
chroot . /bin/bash

Теперь кажется что исполняемый файл nvidia-smi можно найти хорошо, так как я могу проинструктировать nvidia-smi; однако сейчас он не выводится. Я пытался сделать это на хост-машине, а не в контейнере, и я могу получить ожидаемую информацию о графическом процессоре, когда я проинструктирую nvidia-smi после выполнения тех же операций монтирования, описанных выше, и ch root to /sandbox. Я новичок в контейнере nvidia-docker; Я не знаю, вызвана ли проблема самим контейнером, или я что-то пропустил. Было бы неплохо, если бы кто-нибудь помог мне найти решение. Любая помощь будет принята с благодарностью.

...