# GPU'nuzu Docker konteynerlerinde kullanın: NVIDIA, AMD ve Intel

> Docker konteynerlerine GPU erişimi verin: NVIDIA Container Toolkit'i kurun, AMD aygıtları /dev/kfd ve /dev/dri'yi aktarın, Docker Compose'da GPU ayırın.

Zorluk: Orta

Docker konteynerleri ana makinenin aygıtlarından yalıtılmıştır; bu yüzden bir GPU bilinçli olarak aktarılmalıdır. Nasıl yapılacağı GPU üreticisine bağlıdır: **NVIDIA** NVIDIA Container Toolkit'i kullanır, **AMD** ve **Intel** GPU'ları aygıt dosyaları olarak aktarılır. Bu rehber ikisini de kurar ve Compose söz dizimini gösterir.

## Başlamadan önce

- Çalışan bir sürücüsü olan GPU sunucu: ana makinede `nvidia-smi` (NVIDIA) veya `rocminfo` (AMD) yanıt verir; bkz. [NVIDIA sürücülerini ve CUDA'yı kurma](/guides/install-nvidia-driver-cuda) veya [AMD ROCm kurulumu](/guides/install-amd-rocm).
- Docker'ın deposundan Docker Engine: [Ubuntu'ya Docker kurma](/guides/install-docker-ubuntu).

## NVIDIA: NVIDIA Container Toolkit'i kurun

NVIDIA deposunu imza anahtarıyla ekleyin, ardından araç setini kurun:

```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
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
```

NVIDIA'nın kılavuzu dört araç seti paketinin tam sürümünü sabitler; `nvidia-container-toolkit` paketini sürüm vermeden kurmak güncel sürümü bağımlılıklarıyla birlikte kurar.

NVIDIA çalışma zamanını Docker'a kaydedin ve Docker'ı yeniden başlatın:

```bash
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
```

NVIDIA'nın örnek iş yüküyle **doğrulayın:**

```bash
sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi
```

Konteyner ana makinedekiyle aynı `nvidia-smi` tablosunu yazar.

### Docker Compose'da NVIDIA GPU'ları

GPU'yu hizmet tanımında ayırın:

```yaml
services:
  app:
    image: ollama/ollama
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]
```

Hizmete tüm GPU'ları vermek için `count: all` kullanın.

## AMD: ROCm aygıtlarını aktarın

AMD GPU'ları iki aygıt yolu ister: `/dev/kfd` (hesaplama arayüzü) ve `/dev/dri` (GPU başına bir düğüm). AMD'nin örneği:

```bash
docker run -it --rm --device /dev/kfd --device /dev/dri --security-opt seccomp=unconfined rocm/rocm-terminal bash
```

Konteynerin içinde `rocminfo` GPU'yu listeler. `--security-opt seccomp=unconfined` isteğe bağlıdır; AMD bunu `numactl` kullanan HPC iş yükleri için önerir.

Compose'da:

```yaml
services:
  app:
    image: rocm/rocm-terminal
    devices:
      - /dev/kfd
      - /dev/dri
```

## Intel: render aygıtlarını aktarın

Intel GPU'larına `/dev/dri` üzerinden ulaşılır. Onu aktarın ve GPU'nuz için Intel'in hesaplama veya medya çalışma zamanını içeren bir imaj kullanın:

```bash
docker run --rm --device /dev/dri ubuntu ls -l /dev/dri
```

## Sorun giderme

**`could not select device driver "" with capabilities: [[gpu]]`.** Docker NVIDIA çalışma zamanını tanımıyor. `sudo nvidia-ctk runtime configure --runtime=docker` çalıştırın ve Docker'ı yeniden başlatın.

**`nvidia-container-cli: initialization error`.** Ana makinedeki NVIDIA sürücüsü çalışmıyor. Önce ana makinede `nvidia-smi` çıktısını kontrol edin.

**AMD: `/dev/kfd` üzerinde `Permission denied`.** Konteynerdeki işlemi çalıştıran kullanıcının aygıtlara erişimi yok. Konteynerin içinde root olarak çalıştırın veya ana makinenin `video` ve `render` grup kimliklerini `--group-add` ile ekleyin.

**Konteynerdeki uygulama CPU kullanıyor.** İmaj GPU desteği içermiyor olabilir ya da GPU seçenekleri olmadan başlatıldı. GPU etiketi veya varyantı için imajın belgelerine bakın.

## Sonraki adımlar

- GPU'nuzda yerel modellerle sohbet edin: [Ollama ile Open WebUI](/guides/open-webui-ollama).
- Bir şey çalışmıyor: [GPU sorunlarını giderme](/guides/gpu-troubleshooting).

## Sık sorulan sorular

### Ana makinede CUDA araç seti gerekir mi?

Hayır. Ana makineye NVIDIA sürücüsü ve NVIDIA Container Toolkit gerekir; CUDA kitaplıkları konteyner imajlarının içinde gelir.

### Birden fazla konteyner tek bir GPU'yu paylaşabilir mi?

Evet. Birkaç konteyner aynı GPU'yu aynı anda kullanabilir; belleğini paylaşırlar, bu yüzden modellerinin birlikte sığdığından emin olun.

### Konteyner neden GPU bulunamadığını söylüyor?

Genellikle GPU istenmemiştir: NVIDIA için --gpus all, AMD ve Intel için --device seçeneklerini ya da Compose'da GPU ayırmayı ekleyin.

### Bu Podman ile çalışır mı?

NVIDIA Container Toolkit, Podman'ı Container Device Interface (CDI) üzerinden de belgeler. Bu rehberdeki komutlar Docker Engine içindir.

---

Kaynak: <https://hyperdc.com/tr/guides/products/gpu-in-docker-containers>\
Son güncelleme: 2026-10-15
