Я собираюсь создать 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
; Я не знаю, вызвана ли проблема самим контейнером, или я что-то пропустил. Было бы неплохо, если бы кто-нибудь помог мне найти решение. Любая помощь будет принята с благодарностью.