Docker

Table of Contents

Docker, yazılım uygulamalarını hızlı, kolay ve etkili bir şekilde konteyner haline getirme ve dağıtma için kullanılan popüler bir teknolojidir. Docker, modern yazılım geliştirme ve dağıtım süreçlerinde önemli bir rol oynamaktadır.

Her bir Docker konteyneri, uygulamanın tüm bağımlılıklarını (kütüphaneler, dosyalar, ortamlar vb.) içerir ve bu sayede uygulamanın herhangi bir ortamda aynı şekilde çalışmasını sağlar. Docker, aynı sunucu üzerinde birbirinden izole edilmiş birden çok konteyner çalıştırılmasını mümkün kılar.

Docker’ın birçok avantajı vardır:

  • Taşınabilirlik: Docker konteynerleri, herhangi bir ortamda tutarlı bir şekilde çalışabilir ve taşınabilirlik sağlar.
  • Hafiflik: Konteynerler, sanal makinelerden daha hafif ve daha hızlıdır, bu da daha hızlı dağıtım ve ölçekleme sağlar.
  • İzolasyon: Her Docker konteyneri, bağımsız bir çalışma ortamına sahiptir, bu da uygulamalar arasında etkileşimi en aza indirir.
  • Kolaylık: Docker, uygulamaların hızlı bir şekilde paketlenmesini, dağıtılmasını ve güncellenmesini sağlar, bu da geliştirme sürecini hızlandırır.

Docker, birçok bileşenin bir araya gelmesiyle çalışır. Docker Engine, Docker Daemon ve Docker CLI gibi temel bileşenler, Docker’ın çalışmasını sağlar. Docker Engine, konteynerlerin oluşturulması, çalıştırılması ve yönetilmesi için temel motoru sağlar. Docker Daemon, Docker Engine ile iletişim kurarak konteynerleri oluşturur ve çalıştırır. Docker CLI ise komut satırı arayüzü aracılığıyla Docker’ın yönetilmesini sağlar.

Komutlar

KomutAçıklama
docker container ls
docker container ps
Çalışan konteynerleri listeleme
docker container ls -a
docker container ps -a
Tüm konteynerleri listeleme
docker container run image:tagKonteyner çalıştırma
docker container run –name container_name image:tagİsim vererek konteyner çalıştırma
docker container run -d image:tagArka planda konteyner çalıştırma
docker container run image:tag commandsKonteyner başlattıktan sonra komut çalıştırma
docker container run -p host_port:container_port image:tagPort publishing
docker container run –network network_name image:tagKonteynırı network’e bağlama
docker container run -v volume_name:path image:tagKonteynere volume bağlama
docker container run -v volume_name:path:ro image:tagKonteynere read-only volume bağlama
docker container run -v folder_path:path image:tagYerel bir klasörü veya dosyayı konteynere bağlama
docker container run -memory=300m –memory-swap=2g image:tagKonteyner hafıza sınırlama
docker container run –cpus=”5″
docker container run –cpuset-cpus=”0,8″ image:tag
Konteyner CPU sınırlama
docker container run –env VAR_NAME=VAR image:tagKonteynere çevre değişkeni verme
docker container run -rm image:tagKapatıldıktan sonra konteynerin otomatik silinmesi
docker container exec container_id commands
docker container exec container_name commands
Çalışan konteynerda komut çalıştırma
docker container exec -it container_id sh
docker container exec -it container_name sh
Çalışan bir konteynerde shell bağlantısı alma
docker container stop container_id
docker container stop container_name
Çalışan konteyneri durdurma
ocker container rm container_id
docker container rm container_name
Konteyner silme
docker container inspect container_id
docker container inspect container_name
Konteyner detaylarını görüntüleme
docker cp container_id:/destination /save/path
docker cp container_name:/destination /save/path
Konteynerden dosya kopyalama
docker image push repository_name/image:tagDocker HUB’a imaj yükleme
docker image inspect image:tagİmaj detaylarını görüntüleme
docker image tag image:tag newimage:newtagMevcut imaja yeni tag ekleme
docker image pull image:tagİmaj çekme
docker image history image:tagİmaj katmanlarını görüntüleme
docker image build -t image:tag .Dockerfile ile yeni imaj oluşturma
docker save image:tag -o file.tarİmajı bir dosyaya kaydetme
docker load -i file.tarKaydedilen imajı dosyadan yükleme
docker volume create volume_nameVolume oluşturma
docker volume rm volume_nameVolume silme
docker logs -f container_id
docker logs -f container_name
Konteyner loglarını izleme
docker logs –since date_time –until date_time container_id
docker logs –since date_time –until date_time container_name
Konteyner loglarına tarih filteri uygulama
docker network create –driver=bridge network_nameBridge Network oluşturma
docker logs container_id
docker logs container_name
Konteyner loglarını görüntüleme
docker logs –details container_id
docker logs –details container_name
Konteyner loglarını detaylı görüntüleme