# Konteyner

Adres: https://softwaredictionary.org/tr/terimler/container
Kategori: DevOps ve Bulut
Son güncelleme: 2026-09-29
İngilizcesi: Container
Türkçe karşılığı: kapsayıcı
Okunuşu: kınteynır

Kısaca: Konteyner, bir uygulamayı bağımlılıklarıyla paketleyip ana makinenin paylaşılan işletim sistemi çekirdeği üzerinde çalıştıran hafif, yalıtılmış bir pakettir.

## Konteyner nedir?

Konteyner, bir uygulamanın kodunu çalışma zamanı, sistem kütüphaneleri ve ayarlar gibi çalışmak için ihtiyaç duyduğu her şeyle birlikte içeren standart bir yazılım birimidir. Paket kendi kendine yettiği için uygulama, konteyner nerede çalışırsa çalışsın (dizüstü bilgisayarda, sunucuda ya da bulutta) aynı şekilde davranır.

Konteynerler Linux çekirdeğinin özelliklerine dayanır: namespace'ler her konteynere süreçler, dosyalar ve ağ üzerinde kendine ait yalıtılmış bir görünüm verir; cgroups (kontrol grupları) ise ne kadar CPU ve bellek kullanabileceğini sınırlar. Her konteyner, katmanlar halinde oluşturulmuş salt okunur bir şablon olan imajdan başlar; containerd ya da CRI-O gibi bir konteyner çalışma zamanı da onu başlatıp durdurur.

Bir apartmandaki daireleri düşünün: her dairenin kilitli bir kapısı, odaları ve sayacı vardır, ama hepsi aynı temeli ve tesisatı paylaşır. Konteynerler de aynı şekilde birbirinden yalıtılmıştır ancak ana makinenin işletim sistemi çekirdeğini paylaşır; bu da onları hızlı başlatılır ve çok sayıda çalıştırıldığında verimli kılar.

En yaygın karışıklık konteynerlerle sanal makineler arasındadır. Sanal makine, bir hypervisor'ın üzerinde eksiksiz bir konuk işletim sistemi içerir; bu yüzden daha ağırdır ve daha geç açılır, ancak daha güçlü yalıtım sağlar. Konteynerler ana makinenin çekirdeğini paylaşır, bu yüzden boyutları çoğu zaman gigabayt yerine megabaytla ölçülür ve yaklaşık bir saniyede ya da daha kısa sürede başlar.

## Önemli noktalar

- Konteyner, bir uygulamayı bağımlılıklarıyla paketler; böylece her yerde aynı davranır.
- Sanal makinelerin aksine konteynerler ana makinenin işletim sistemi çekirdeğini paylaşır.
- Linux namespace'leri yalıtımı sağlar, cgroups ise kaynakları sınırlar.
- Konteynerler OCI standardına uyan imajlardan oluşturulur.
- Docker konteynerleri oluşturur ve çalıştırır; Kubernetes onları büyük ölçekte yönetir.

## Örnek: Komut satırından bir konteynerle çalışmak

```bash
# Download the nginx image and start a container from it
docker run -d --name web -p 8080:80 nginx

# List running containers
docker ps

# Open a shell inside the running container
docker exec -it web sh

# Stop and remove the container (the image stays on disk)
docker stop web && docker rm web
```

## Sık sorulan sorular

**Konteyner ile sanal makine arasındaki fark nedir?**

Sanal makine, sanallaştırılmış donanım üzerinde eksiksiz bir konuk işletim sistemi çalıştırır; konteyner ise ana makinenin çekirdeğini paylaşır ve yalnızca uygulamayı yalıtır. Konteynerler daha hafiftir ve daha hızlı başlar; sanal makineler daha güçlü yalıtım sunar.

**Konteynerler Docker ile aynı şey midir?**

Hayır. Konteynerler genel bir teknolojidir, Docker ise bunları oluşturmak ve çalıştırmak için kullanılan popüler bir araç takımıdır. Docker ile oluşturulan imajlar OCI standardına uyar ve Podman ya da containerd gibi diğer araçlarla da çalıştırılabilir.

**Konteynerler Windows ve macOS'ta çalışabilir mi?**

Evet. Docker Desktop gibi araçlar, macOS ve Windows'ta Linux konteynerlerini hafif bir sanal makine içinde çalıştırır; Windows ayrıca yerel Windows konteynerlerini de destekler.

## Kaynaklar

- [Docker documentation: What is a container?](https://docs.docker.com/get-started/docker-concepts/the-basics/what-is-a-container/)
- [Open Container Initiative: Runtime Specification](https://github.com/opencontainers/runtime-spec)

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
