# Docker: En Sık Kullanılan Komutlar ve İpuçları
Konteynerleştirme dünyasının standart haline gelen Docker, geliştirme ve dağıtım süreçlerini inanılmaz hızlandırır. İşte Docker ile çalışırken elinizin altında olması gereken temel komutlar:
## 1. Konteyner Yönetimi
* `docker ps`: Çalışan tüm konteynerleri listeler.
* `docker ps -a`: Durdurulmuş olanlar dahil tüm konteynerleri gösterir.
* `docker run -d -p 8080:80 --name web_sunucu nginx`: Nginx imajını kullanarak 8080 portundan ulaşılabilir bir konteyner başlatır.
* `docker stop konteyner_id`: Çalışan bir konteyneri durdurur.
* `docker rm konteyner_id`: Durdurulmuş bir konteyneri siler.
* `docker logs -f konteyner_id`: Bir konteynerin loglarını anlık olarak takip eder.
## 2. İmaj (Image) Yönetimi
* `docker images`: Yerel sisteminizdeki tüm imajları listeler.
* `docker pull imaj_adi`: Docker Hub üzerinden belirli bir imajı indirir.
* `docker build -t proje_adi .`: Mevcut dizindeki Dockerfile'ı kullanarak yeni bir imaj oluşturur.
* `docker rmi imaj_id`: Yerel sistemdeki bir imajı siler.
* `docker prune`: Kullanılmayan tüm imajları, konteynerleri ve ağları temizler (Disk alanı açmak için çok kullanışlıdır).
## 3. Konteyner İçine Erişim
* `docker exec -it konteyner_id /bin/bash`: Çalışan bir konteynerin içine terminal (bash) ile giriş yapar.
## 4. Docker Compose (Çoklu Konteyner Yönetimi)
* `docker-compose up -d`: `docker-compose.yml` dosyasındaki yapılandırmaya göre tüm servisleri arka planda başlatır.
* `docker-compose down`: `docker-compose.yml` ile başlatılan tüm servisleri durdurur ve kaldırır.
* `docker-compose logs -f`: Tüm servislerin loglarını birleşik bir şekilde görüntüler.
---
### İpucu: Sistem Temizliği
Eğer Docker'ın diskte çok yer kapladığını fark ederseniz şu komut tam bir hayat kurtarıcıdır:
`docker system prune -a`
*(Bu komut durdurulmuş konteynerleri, kullanılmayan ağları ve imajları temizler.)*