Y2Z Main Page
Attachments
History
Blame
View Source
Changelog
Documentation
Toggle dark mode
Login
Home
A - Z
Page Index
Docker
Hardware
GPU
iLO
Home
Iac
Ansible
K8S
Minikube
Linux
Distro
Debian
Ubuntu
Linux Directory Structure
Misc
Fonts
System
Bash
Fail2ban
LVM
Ssh
Systemd
Monitoring
Grafana Prometheus
Proxmox In Grafana
Zabbix
Self-Hosted
Jellyfin
Jitsi-Meet
Komga
Navidrome
Nginx
Rustdesk
Uptime-Kuma
Storage
Minio
Virtualization
Proxmox
WSL
Windows
Software
Chocolatey
An Otter Wiki
Docker
f79456
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