Temel Docker Komutları ve Yönetimi

Docker ile çalışırken en sık kullanacağın komutlar, image‘leri yönetmek, container‘ları başlatmak, durdurmak ve silmek üzerine kuruludur. Bu bölümde, bu temel işlemleri nasıl yapacağını adım adım öğreneceksin.

docker pull – Docker Image’lerini Çekme

docker pull komutu, Docker Hub gibi bir registry’den image‘leri yerel makinenize indirmenizi sağlar. Bu, bir uygulamayı çalıştırmadan önce onun kalıbını edinmek gibidir.

Kullanım:

docker pull ubuntu

Bu komut, Docker Hub’dan Ubuntu işletim sistemi image’ini yerel diskinize çeker. Genellikle, en son kararlı sürümü (latest etiketiyle işaretlenmiş olanı) indirir.


docker images – Yerel Image’leri Listeleme

docker images komutu (veya kısaca docker image ls), yerel Docker ortamınızda bulunan tüm image‘leri listeler. Bu, hangi uygulama kalıplarına sahip olduğunuzu görmenizi sağlar.

Kullanım:

docker images
# veya
docker image ls

Çıktı Detayları:

  • REPOSITORY: Image’in adı (örn: ubuntu, node, mongo).
  • TAG: Image’in belirli bir sürümü veya varyasyonu (örn: latest, 22.04, 18-alpine).
  • IMAGE ID: Image’in benzersiz kimliği. Her image’in kendine özgü bir ID’si vardır.
  • CREATED: Image’in ne zaman oluşturulduğu.
  • SIZE: Image’in boyutu.

![[Pasted image 20250608201253.png]]

Bu görsel, indirilen Docker image’lerinin bir listesini göstermektedir.


docker run – Docker Container’larını Çalıştırma

docker run komutu, bir image‘den yeni bir container oluşturur ve onu başlatır. Bu, indirilen bir kalıptan yeni bir uygulama örneği oluşturmak gibidir.

Örnek 1: Tek seferlik komut çalıştırma

Eğer container’ın içinde sadece belirli bir komutu çalıştırmak istiyorsanız, docker run komutunun sonuna bu komutu ekleyebilirsiniz. Container, komut bittikten sonra duracaktır.

docker run ubuntu echo "Merhaba Docker!"

Bu komut, bir Ubuntu container’ı başlatır, içinde "Merhaba Docker!" yazısını ekrana basar ve ardından container’ı durdurur. Ubuntu image’i genellikle interaktif bir kabuk sağlamaz, bu yüzden sadece bir komut çalıştırmak için idealdir.

Örnek 2: İnteraktif Terminal ile Çalıştırma

Bir container’ın içine girip orada komutlar çalıştırmak veya etkileşimli bir oturum açmak istersen, -it bayraklarını kullanmalısın.

docker run -it ubuntu
  • -i (interactive): Container’ın standart girişini (STDIN) açık tutar.
  • -t (tty): Sahte bir TTY (terminal) tahsis eder.

Bu iki bayrak birlikte kullanıldığında, container’ın kabuğuna erişim sağlayabilir ve normal bir terminal gibi etkileşim kurabilirsin. Komut satırı istemin (prompt) root@<container_id>:/# gibi bir şeye dönüşecektir. Container’dan çıkmak için exit yazabilirsin.

-it kısaltması, interactive terminal anlamına gelir. Bu, bir container’ın içinde sanki doğrudan o sunucudaymış gibi çalışmanı sağlar.

docker run‘ın Akıllı Davranışı:
docker run komutu, belirttiğin image‘i önce yerel makinenizde arar. Eğer bulamazsa, otomatik olarak Docker Hub’dan (veya yapılandırılmış başka bir registry’den) o image‘i pull eder ve sonra çalıştırır.


docker ps – Çalışan Container’ları Listeleme

docker ps komutu (veya docker container ls), o anda çalışır durumda olan tüm Docker container‘larını listeler. Bu komut, hangi uygulamaların şu an aktif olduğunu görmenizi sağlar.

Kullanım:

docker ps
# veya
docker container ls

docker ps -a – Tüm Container’ları (Çalışan ve Durmuş) Listeleme

docker ps -a komutu, hem çalışan hem de durdurulmuş (geçmişte çalışmış) tüm Docker container‘larını listeler. -a bayrağı, “all” (tümü) anlamına gelir. Bu, diskte yer kaplayan veya daha önce çalıştırdığınız tüm container’ları görmenizi sağlar.

Kullanım:

docker ps -a
# veya
docker container ls -a

docker run --name – Docker Container’a İsim Verme

Container’ları kimlikleri (ID’leri) ile yönetmek zor olabilir. docker run komutuna --name bayrağını ekleyerek, bir container‘a kolayca akılda kalıcı bir isim verebilirsin. Bu isim, container’ı başlatmak, durdurmak veya silmek için kullanılabilir.

Kullanım:

docker run -it --name ubuntu_terminal ubuntu

Bu komut, ubuntu image’inden bir container oluşturur ve ona ubuntu_terminal adını verir. docker ps çıktısında bu ismin NAMES sütununda göründüğünü fark edeceksin.


docker start – Durdurulmuş Container’ı Başlatma

Önceden durdurulmuş bir container‘ı tekrar başlatmak için docker start komutunu kullanırız. Bu, var olan bir uygulama örneğini tekrar hayata geçirmek gibidir.

Kullanım:

docker start ubuntu_terminal
# veya ID ile:
docker start <container_id>

docker stop – Çalışan Container’ı Durdurma

Çalışan bir container‘ı nazikçe durdurmak için docker stop komutunu kullanırız. Bu, uygulamaya kapanması için bir sinyal gönderir.

Kullanım:

docker stop ubuntu_terminal
# veya ID ile:
docker stop <container_id>

ID ile Durdurma Notu: container_id‘nin tamamını yazmaya gerek yoktur. Diğer container‘lardan ayırt edilebildiği sürece ilk 3-4 karakteri yazmak yeterlidir. Örneğin, docker stop a2b4 gibi.


docker rm – Container’ları Silme

Durdurulan container‘lar diskte yer kaplamaya devam eder. Kullanım dışı kalan veya test amaçlı oluşturulmuş container‘ları temizlemek için docker rm komutunu kullanırız.

Kullanım (tek tek silme):

docker rm ubuntu_terminal
# veya ID ile:
docker rm <container_id>

Kullanım (tüm durdurulmuş container’ları silme):

Tüm durdurulmuş (çalışmayan) container‘ları tek seferde silmek için güçlü bir kombinasyon kullanabilirsin:

docker rm $(docker ps -aq)
  • docker ps -aq: Bu kısım, tüm container‘ların (çalışan ve durdurulmuş) sadece ID’lerini listeler. -q bayrağı “quiet” anlamına gelir ve sadece ID’leri gösterir.
  • $(): Bu yapı, içindeki komutun çıktısını dıştaki komuta argüman olarak iletir.

Böylece, docker rm komutu tüm o ID’leri alarak ilgili container‘ları siler. Dikkatli kullanılması gereken bir komuttur.

Leave a Reply

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir