Commit f79456

2025-05-15 08:51:54 Mayekkuzu: Nvidia in Docker added
docker.md ..
@@ 41,3 41,54 @@
```
После чего нужно перелогиниться в систему.
+ ## Проброс видеокарты Nvidia в контейнер Ubuntu/Debian
+
+ Необходимо добавить репозиторий. Nvidia советует использовать такой метод.
+ ```bash
+ curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
+ && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
+ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
+ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
+ ```
+
+ Далее включаем экспериментальные пакеты и установим
+ ```bash
+ sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list
+ sudo apt-get update
+ sudo apt-get install -y nvidia-container-toolkit
+ ```
+
+ Генерируем конфигурационный фаил
+ ```bash
+ sudo nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml
+ ```
+
+ Убедимся что видеокарта получила идентификатор
+ ```bash
+ root@exclusion-watch:~# nvidia-ctk cdi list
+ INFO[0000] Found 3 CDI devices
+ nvidia.com/gpu=0
+ nvidia.com/gpu=GPU-ec7e5c60-b699-86c7-39da-e61db1767de2
+ nvidia.com/gpu=all
+ ```
+
+ Ставим рантайм по умолчанию и рестартим сервис докер
+ ```bash
+ sudo nvidia-ctk runtime configure --runtime=docker --set-as-default
+ sudo systemctl restart docker
+ ```
+
+ Теперь если необходимо пробросить карточку то ознакомьтесь с примером docker-compose
+ ```yaml
+ ...
+ transcoder-nvidia:
+ <<: *transcoder-base
+ deploy:
+ resources:
+ reservations:
+ devices:
+ - capabilities: [gpu]
+ driver: nvidia
+ device_ids:
+ - nvidia.com/gpu=0
+ ```
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9