---
title: "Llama.cpp Konteyner İmajı Oluşturma"
url: https://blog.edumints.com/llama-cpp-konteyner-imaji-olusturma
category: "DevOps"
date: 2026-10-23T07:06:50.437Z
publisher: Edumints Blog
lang: tr-TR
source_name: "dev.to"
source_url: https://dev.to/vultr/building-a-llamacpp-container-image-48g9
---

# Llama.cpp Konteyner İmajı Oluşturma

**Llama.cpp**, Llama, Falcon ve Mistral gibi Büyük Dil Modelleri (LLM'ler) için tasarlanmış yüksek performanslı bir çıkarım (inference) platformudur. Hem CPU hem de GPU sistemleriyle uyumlu, akıcı bir geliştirme ortamı sunar. Bu rehber, Llama.cpp'yi CPU ve GPU sistemleri için bir Docker konteyner imajına nasıl dönüştüreceğinizi ve hazırlanan imajı bir konteyner kayıt defterine (container registry) nasıl göndereceğinizi açıklar. Yazılım geliştirme süreçlerinde LLM'leri konteynerize etmek, ortam bağımlılıklarını ortadan kaldırarak taşınabilir ve tekrarlanabilir dağıtımlar yapmanızı sağlar.

## Ön Koşullar

Başlamadan önce aşağıdaki gereksinimlerin hazır olduğundan emin olun:
- Docker kurulu bir sunucu (GPU derlemesi için NVIDIA sürücüleri ve NVIDIA Container Toolkit kurulu, GPU destekli bir sunucu).
- Sunucuya SSH ile erişim.

Docker servisini başlatın:
`$ sudo systemctl start docker`

Root olmayan kullanıcıyı Docker grubuna ekleyin (örneğin, `linuxuser`):
`$ sudo usermod -aG docker linuxuser`

Kullanıcıya geçiş yapın:
`$ su - linuxuser`

> **Pratik Çıkarım:** Docker komutlarını `sudo` olmadan çalıştırmak hem güvenlik hem de CI/CD otomasyon süreçlerinde pratiklik açısından kritik bir en iyi uygulamadır.

## 1. Proje Dizinini Hazırlama

Llama.cpp kaynak kodlarını ve yapılandırma dosyalarını düzenli bir şekilde yönetmek için aşağıdaki 6 adımı izleyin:

1. Llama.cpp proje dosyalarınızı saklamak için yeni bir dizin oluşturun:
   `$ mkdir llama-project`
2. Oluşturduğunuz dizine geçiş yapın:
   `$ cd llama-project`
3. Git kullanarak Llama.cpp proje deposunu klonlayın:
   `$ git clone https://github.com/ggerganov/llama.cpp/`
4. Dosyaları listeleyin ve yeni `llama.cpp` dizininin mevcut olduğunu doğrulayın:
   `$ ls`
   Çıktı olarak `llama.cpp` dizinini göreceksiniz.
5. `llama.cpp` proje dizinine geçiş yapın:
   `$ cd llama.cpp`
6. Tüm gizli dosyaları listeleyin ve yeni `.devops` dizininin mevcut olduğunu doğrulayın:
   `$ ls -a`
   Çıktıda `CMakeLists.txt`, `convert.py` gibi proje dosyalarının yanı sıra `.devops` dizini yer alacaktır.

`.devops` dizini aşağıdaki Dockerfile kaynaklarını içerir:
- **main.Dockerfile**: CPU sistemleri için derleme bağlamını (build context) içerir.
- **main-cuda.Dockerfile**: GPU sistemleri için derleme bağlamını içerir.

Hazır Dockerfile şablonlarını incelemek, C++ tabanlı yapay zeka kütüphanelerinin derleme bağımlılıklarını anlamak adına harika bir öğrenme fırsatıdır.

## 2. CPU Sistemleri İçin Llama.cpp Konteyner İmajı Oluşturma

CPU tabanlı sistemler için gerekli tüm bağımlılık paketlerini kuran ve gerekli derleme bağlamını içeren `main.Dockerfile` dosyasını kullanarak yeni bir imaj oluşturmak için aşağıdaki 3 adımı izleyin:

1. `main.Dockerfile` dosyasını `.devops` dizininden ana `llama.cpp` proje dizinine kopyalayın:
   `$ cp .devops/main.Dockerfile .`
2. Proje dizinindeki tüm dosyalarla birlikte `main.Dockerfile` kullanarak yeni bir konteyner imajı derleyin (`llama-image` kısmını istediğiniz imaj adıyla değiştirin):
   `$ docker build -f main.Dockerfile -t llama-image .`
3. Sunucudaki tüm Docker imajlarını görüntüleyin ve yeni `llama-image` imajının mevcut olduğunu doğrulayın:
   `$ docker images`
   Çıktıda yaklaşık `80.1MB` boyutunda `llama-image` imajını görebilirsiniz. Bu kadar küçük bir imaj boyutu, mikroservis mimarilerinde hızlı ölçeklenme avantajı sağlar.

## 3. GPU Sistemleri İçin Llama.cpp Konteyner İmajı Oluşturma

Llama.cpp `main-cuda.Dockerfile` kaynağı, en güncel CUDA sürücü paketlerini çalıştıran NVIDIA GPU sistemleri için derleme bağlamını içerir. GPU uyumlu bir imaj derlemeye başlamak için şu adımı uygulayın:

1. `main-cuda.Dockerfile` dosyasını Llama.cpp proje dizinine kopyalayın:
   `$ cp .devops/main-cuda.Dockerfile .`

Donanım hızlandırmalı çıkarım yapmak, üretim ortamlarında yanıt sürelerini (latency) düşürmek için temel adımdır.

---

**Kaynak:** dev.to (https://dev.to/vultr/building-a-llamacpp-container-image-48g9)
**Yayıncı:** [Edumints Blog](https://blog.edumints.com) · Alıntılarken bu URL'ye bağlantı verin: https://blog.edumints.com/llama-cpp-konteyner-imaji-olusturma
