Docker Temel Komutlar

Image, container ve sistem yönetimi komutları

Image Komutları

Image İndirme ve Listeleme

# Image indir
docker pull nginx
docker pull nginx:alpine
docker pull mysql:8.0
docker pull postgres:16

# Image listele
docker images
docker image ls

# Image detayları
docker inspect nginx

# Image geçmişi
docker history nginx

Image Silme

# Tek image sil
docker rmi nginx

# Zorla sil
docker rmi -f nginx

# Kullanılmayan image'ları temizle
docker image prune

# Tüm image'ları temizle (dikkat!)
docker image prune -a

Container Komutları

Container Oluşturma ve Başlatma

# Basit çalıştırma
docker run nginx

# Arka planda çalıştır
docker run -d nginx

# İsim vererek çalıştır
docker run -d --name webserver nginx

# Port yönlendirme
docker run -d -p 8080:80 nginx

# Çoklu port
docker run -d -p 8080:80 -p 8443:443 nginx

# Otomatik yeniden başlatma
docker run -d --restart unless-stopped nginx

Container Listeleme

# Çalışan container'lar
docker ps

# Tüm container'lar (durmuş dahil)
docker ps -a

# Sadece ID'ler
docker ps -q

# Son oluşturulan
docker ps -l

Container Yönetimi

# Durdur
docker stop webserver

# Başlat
docker start webserver

# Yeniden başlat
docker restart webserver

# Duraksat
docker pause webserver

# Devam ettir
docker unpause webserver

# Zorla durdur
docker kill webserver

Container Silme

# Durmuş container sil
docker rm webserver

# Çalışan container'ı zorla sil
docker rm -f webserver

# Tüm durmuş container'ları sil
docker container prune

# Tüm container'ları sil
docker rm -f $(docker ps -aq)

Container İçi İşlemler

# Container'a bağlan (bash)
docker exec -it webserver bash

# Container'a bağlan (sh)
docker exec -it webserver sh

# Tek komut çalıştır
docker exec webserver ls -la /etc/nginx

# Env variable ile
docker exec -e MY_VAR=test webserver env

Loglar ve İzleme

# Log görüntüle
docker logs webserver

# Canlı log takibi
docker logs -f webserver

# Son 100 satır
docker logs --tail 100 webserver

# Timestamp ile
docker logs -t webserver

# Kaynak kullanımı
docker stats
docker stats webserver

Sistem Temizliği

# Kullanılmayan her şeyi temizle
docker system prune

# Volume'lar dahil
docker system prune --volumes

# Disk kullanımı
docker system df