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.