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
Komut | Açı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:tag | Konteyner çalıştırma |
docker container run –name container_name image:tag | İsim vererek konteyner çalıştırma |
docker container run -d image:tag | Arka planda konteyner çalıştırma |
docker container run image:tag commands | Konteyner başlattıktan sonra komut çalıştırma |
docker container run -p host_port:container_port image:tag | Port publishing |
docker container run –network network_name image:tag | Konteynırı network’e bağlama |
docker container run -v volume_name:path image:tag | Konteynere volume bağlama |
docker container run -v volume_name:path:ro image:tag | Konteynere read-only volume bağlama |
docker container run -v folder_path:path image:tag | Yerel bir klasörü veya dosyayı konteynere bağlama |
docker container run -memory=300m –memory-swap=2g image:tag | Konteyner 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:tag | Konteynere çevre değişkeni verme |
docker container run -rm image:tag | Kapatı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:tag | Docker HUB’a imaj yükleme |
docker image inspect image:tag | İmaj detaylarını görüntüleme |
docker image tag image:tag newimage:newtag | Mevcut 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.tar | Kaydedilen imajı dosyadan yükleme |
docker volume create volume_name | Volume oluşturma |
docker volume rm volume_name | Volume 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_name | Bridge 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 |