Docker Container Nedir?
Docker container, bir uygulamanın çalışması için gerekli dosyaları, bağımlılıkları ve çalışma ortamını izole şekilde barındıran yapıdır.
Bu dokümandaki örnekler, kemaltokmak.com projesinde çalışan kemaltokmak ve nginx-proxy-manager container'ları üzerinden hazırlanmıştır.
Çalışan Container'ları Listeleme
Sadece aktif çalışan container'ları görmek için docker ps komutu kullanılır.
docker ps
Tüm Container'ları Listeleme
Duran container'lar dahil tüm container'ları görmek için -a parametresi kullanılır.
docker ps -a
Bir servis görünmüyorsa önce docker ps -a ile
container'ın durmuş olup olmadığını kontrol etmek gerekir.
Container Başlatma
Durdurulmuş bir container'ı yeniden başlatmak için docker start komutu kullanılır.
docker start kemaltokmak
docker start nginx-proxy-manager
Container Durdurma
Çalışan bir container'ı durdurmak için docker stop komutu kullanılır.
docker stop kemaltokmak
Web sitesi container'ını durdurursanız ilgili site erişilemez hale gelir.
Container Yeniden Başlatma
Bir container'ı hızlı şekilde yeniden başlatmak için docker restart komutu kullanılır.
docker restart kemaltokmak
docker restart nginx-proxy-manager
Container Loglarını İnceleme
Container içinde oluşan hata veya erişim kayıtlarını görmek için docker logs komutu kullanılır.
docker logs kemaltokmak
docker logs nginx-proxy-manager
Canlı Log Takibi
Logları canlı olarak takip etmek için -f parametresi kullanılır.
docker logs -f kemaltokmak
docker logs -f --tail=100 nginx-proxy-manager
Container İçine Girme
Bir container'ın içine terminal ile girmek için docker exec komutu kullanılır.
docker exec -it kemaltokmak sh
docker exec -it nginx-proxy-manager sh
Alpine tabanlı container'larda genellikle
bash yerine sh kullanılır.
Container Detaylarını İnceleme
Container'ın ağ, volume, image ve yapılandırma detaylarını görmek için docker inspect komutu kullanılır.
docker inspect kemaltokmak
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' kemaltokmak
Container Kaynak Kullanımını İzleme
Container'ların CPU, RAM ve ağ kullanımını canlı görmek için docker stats komutu kullanılır.
docker stats
docker stats kemaltokmak
Container Silme
Bir container'ı silmeden önce durdurmak gerekir.
docker stop eski-container
docker rm eski-container
docker rm -f eski-container
Kullanılmayan Image'ları Temizleme
Zamanla kullanılmayan image'lar disk alanı kaplayabilir.
docker image prune
docker system prune
Temizleme komutlarını çalıştırmadan önce aktif kullanılan container ve image'ları kontrol edin.
Gerçek Projede Container Kontrolü
Bizim VPS yapımızda temel olarak iki kritik container bulunur:
- nginx-proxy-manager: Domain, proxy ve SSL yönlendirmelerini yönetir.
- kemaltokmak: Web sitesi dosyalarını Nginx ile yayınlar.
docker ps
docker logs nginx-proxy-manager
docker logs kemaltokmak
Container'lar arasında ağ çözümlemesini test etmek için:
docker exec -it nginx-proxy-manager sh
getent hosts kemaltokmak
Bu Dokümanda Ne Öğrendik?
Bu dokümanda Docker container'ları listelemeyi, başlatmayı, durdurmayı, yeniden başlatmayı, logları incelemeyi, container içine girmeyi ve kaynak kullanımını izlemeyi öğrendik.
-
docker psile çalışan container'ları listeledik. -
docker ps -aile tüm container'ları gördük. - Container başlatma, durdurma ve yeniden başlatmayı öğrendik.
docker logsile logları inceledik.-
docker execile container içine girdik. -
docker inspectile detayları görüntüledik. -
docker statsile kaynak kullanımını izledik.