En Çok Kullanılan Docker Komutları (Cheat Sheet 2026)
Uygulamalarınızı konteynerize ederken en çok docker pull (imaj indirme), docker run -d (arkaplanda konteyner başlatma), docker ps (çalışanları listeleme), docker exec -it (konteyner içine girme) ve docker rm / rmi (temizlik) komutlarını kullanırsınız.
Docker komutları, container tabanlı yazılım geliştirme sürecinde en sık kullanılan araçların başında gelir. Özellikle image indirme, container çalıştırma, log inceleme ve temizlik işlemleri DevOps operasyonlarının temel parçalarıdır.
1. Docker Nedir?
Docker, uygulamaları bağımlılıklarıyla birlikte paketleyip farklı ortamlarda tutarlı şekilde çalıştırmayı kolaylaştıran bir container platformudur. Geliştirme, test ve dağıtım süreçlerinde "Benim bilgisayarımda çalışıyordu!" problemini tamamen ortadan kaldırır.
2. Docker Temel Kavramları
- Image (İmaj): Container oluşturmak için kullanılan read-only (salt okunur) hazır şablondur. İçinde uygulama kodu, bağımlılıklar ve işletim sistemi çekirdeği bulunur.
- Container: Bir image’ın çalışan, izole edilmiş örneğidir.
- Layer (Katman): Her Docker image'ı katmanlardan oluşur. Bu yapı image paylaşımını ve cache kullanımını verimli hale getirir.
- Registry & Repository: Docker image’larının saklandığı sistemdir (Örn: Docker Hub). Repository ise aynı uygulamanın farklı sürümlerini (etiketlerini) içeren koleksiyondur.
3. Image İşlemleri İçin Docker Komutları
docker pull
Registry üzerinden (genellikle Docker Hub) bir image indirmek için kullanılır.
docker pull redis:latest
docker images
Makinenizde daha önceden indirilmiş veya build edilmiş tüm image’ları listeler.
docker images
docker rmi
Kullanılmayan bir imajı yerel diskinizden siler.
docker rmi redis
4. Container Çalıştırma Komutları
docker run
Bir image'ı bulur (yoksa indirir) ve yeni bir container başlatır.
docker run -d -p 8080:80 --name web_sunucusu nginx
(-d parametresi arkaplanda çalışmasını, -p ise port yönlendirmesini sağlar.)
docker start / stop
Mevcut bir container’ı başlatır veya düzgün bir sinyalle (SIGTERM) durdurur.
docker stop web_sunucusu
docker start web_sunucusu
docker exec
Çalışan bir container içine girip interaktif olarak komut (Örn: shell) çalıştırmayı sağlar.
docker exec -it web_sunucusu /bin/bash
5. Yardımcı Docker Komutları
docker ps
Aktif olarak çalışan container’ları listeler. Durmuş olanları da görmek için -a eklenir.
docker ps
docker ps -a
docker logs
Container'ın ürettiği konsol çıktılarını ve hataları görüntüler.
docker logs -f web_sunucusu
İpucu: Log komutunun filtreleme parametreleri (-f, --tail, --since) hakkında daha fazla detay için Docker Logs Komutu ile Log Takibi rehberimizi inceleyebilirsiniz.
docker inspect
Bir container veya image hakkında IP adresi, volume bağlamaları gibi detaylı JSON formatında teknik bilgiler sunar.
docker inspect web_sunucusu
6. Docker Temizlik Komutları
Zamanla biriken atıl veriler sunucunuzun diskini doldurur. Temizlik şarttır.
docker rm
Durdurulmuş bir container’ı siler. Zorla silmek için -f kullanılır.
docker rm -f web_sunucusu
docker system prune
Durdurulmuş tüm container'ları, kullanılmayan ağları (network) ve askıda kalmış (dangling) imajları tek seferde temizler.
docker system prune -a
7. Pratik Kullanım Senaryosu
Tüm bu komutları gerçek bir senaryoda birleştirelim:
# 1. İmajı indir
docker pull postgres:15
# 2. Arkaplanda çalıştır ve port ata
docker run -d --name my_db -e POSTGRES_PASSWORD=secret -p 5432:5432 postgres:15
# 3. Çalıştığını doğrula
docker ps
# 4. Loglarına bak
docker logs my_db
# 5. İşin bitince sil
docker rm -f my_db
8. Sık Sorulan Sorular
Docker image ile container arasındaki fark nedir?
Image, uygulamanın paketlenmiş ve salt-okunur (read-only) taslağıdır. Container ise bu imajın belleğe alınıp çalıştırılmış, yaşayan ve izole edilmiş halidir. Bir imajdan binlerce container üretebilirsiniz.
docker run ile docker create arasındaki fark nedir?
docker create yalnızca container dosya sistemini oluşturur ve hazır bekletir. docker run ise container'ı hem oluşturur hem de anında başlatır (start komutunu tetikler).
Konteynerin içine nasıl terminal bağlantısı yaparım?
docker exec -it konteyner_adi /bin/bash (veya Alpine tabanlı imajlar için /bin/sh) komutunu kullanarak içine girebilirsiniz.
Sonuç
Bu yazıda DevOps dünyasının kalbi olan Docker'ın en kritik komutlarını listeledik. pull, run, ps ve exec komutlarına hakim olduğunuzda, konteyner tabanlı sistemlerde güvenle çalışmaya başlayabilirsiniz.