Docker Nedir?
Docker, uygulama geliştirme, dağıtım ve çalıştırma süreçlerini standartlaştırmayı amaçlayan bir konteynerleştirme platformudur. Konteynerler, uygulamaların ve bağımlılıklarının bir arada bulunduğu izole edilmiş ortamlar sunar. Bu sayede uygulamalar, geliştirme ortamında çalıştığı gibi üretim ortamında da aynı şekilde çalışabilir. Docker, uygulama geliştiricilerine ve sistem yöneticilerine çeşitli araçlar ve komutlar sunar.
Docker Kurulumu
Docker’ın kullanılabilmesi için öncelikle sistemde kurulu olması gerekmektedir. Docker’ı kurmak için resmi Docker web sitesinden işletim sistemine uygun kurulum adımları takip edilmelidir. Kurulum tamamlandıktan sonra, Docker daemon’un çalıştığından emin olunmalıdır.
Docker Komutları
Docker ile ilgili temel komutlar, konteynerlerin yönetimi, imajların oluşturulması ve görüntülenmesi gibi işlemleri gerçekleştirmek üzere kullanılır. Aşağıda bazı temel komutlar örneklendirilmiştir.
Imager ile İlgili Komutlar
Docker İmajlarını Listeleme
Docker’daki mevcut imajları listelemek için şu komut kullanılmaktadır:
“`
docker images
“`
Bu komut, sistemdeki mevcut Docker imajlarının bir listesini sunmaktadır.
Yeni İmaj Oluşturma
Docker imajları, Dockerfile adı verilen bir dosya kullanılarak oluşturulmaktadır. Aşağıdaki komut, belirli bir Dockerfile kullanarak yeni bir imaj oluşturur:
“`
docker build -t imaj_adi:tag /path/to/Dockerfile
“`
Bu komut ile belirtilen yolda yer alan Dockerfile kullanılarak `imaj_adi` isimli bir imaj oluşturulur. `tag` ise isme eklenir ve sürüm bilgisi sağlayabilir.
İmaj Silme
Bir Docker imajını silmek için şu komut kullanılabilir:
“`
docker rmi imaj_adi
“`
Burada `imaj_adi`, silinmek istenen imajın adıdır.
Konteynerler ile İlgili Komutlar
Konteyner Oluşturma ve Çalıştırma
Yeni bir konteyner oluşturup çalıştırmak için aşağıdaki komut kullanılmaktadır:
“`
docker run -d –name konteyner_adi imaj_adi
“`
Burada `-d` bayrağı, konteynerin arka planda çalışmasını sağlar. `–name` seçeneği, oluşturulacak konteyner için bir isim belirler.
Çalışan Konteynerleri Listeleme
Aktif olarak çalışan konteynerleri görmek için şu komut kullanılır:
“`
docker ps
“`
Bu komut, o anda çalışan tüm konteynerlerin listelemesini yapar. Tüm konteynerleri görmek için `-a` bayrağı eklenebilir:
“`
docker ps -a
“`
Konteyner Durdurma
Belirli bir konteyneri durdurmak için aşağıdaki komut kullanılabilmektedir:
“`
docker stop konteyner_adi
“`
Konteynerin adı veya kimliği belirtildiğinde durdurma işlemi gerçekleştirilir.
Konteyner Silme
Bir konteyneri silmek için şu komut kullanılır:
“`
docker rm konteyner_adi
“`
Eğer durdurulmamış bir konteyner silinmek isteniyorsa, önce durdurulması gerekebilir.
Ağ ve Veri Yönetimi
Docker Ağı Oluşturma
Docker’da özel bir ağ oluşturmak için şu komut kullanılmaktadır:
“`
docker network create ag_adi
“`
Burada `ag_adi`, oluşturulacak ağın adıdır. Ağlar, konteynerler arasında iletişimi sağlamak için kullanılır.
Volume Oluşturma
Veri kalıcılığı sağlamak için Docker’da volume (hacim) oluşturulabilir:
“`
docker volume create volume_adi
“`
Bu komut, belirlenen isimle yeni bir hacim oluşturur ve veri saklamak için konteynerlere bağlanabilir.
Loglar ve İzleme
Konteyner Loglarını Görüntüleme
Bir konteynerin loglarını görüntülemek için aşağıdaki komut kullanılmaktadır:
“`
docker logs konteyner_adi
“`
Bu komut, belirtilen konteynerin çalışma sırasında ürettiği logları gösterir.
Interaktif Komut Çalıştırma
Çalışmakta olan bir konteynerde interaktif bir shell açmak için şu komut kullanılabilir:
“`
docker exec -it konteyner_adi /bin/bash
“`
Bu komut, belirtilen konteynerin içine girerek komut çalıştırma olanağı sağlar.
Docker Compose ile Yönetim
Docker Compose, birden fazla Docker konteynerini aynı anda yönetmek için kullanılır. Konteynerlerin tanımlandığı bir `docker-compose.yml` dosyası oluşturulur. Uygulamayı başlatmak için basit bir komut yeterlidir:
“`
docker-compose up
“`
Bu komut ile Docker, yapılandırma dosyasında yer alan tüm konteynerleri başlatır.
Sonuç
Docker, uygulama geliştirmeyi ve dağıtım süreçlerini kolaylaştıran etkili bir platformdur. Yukarıda yer alan komutlar, temel işlemlerin gerçekleştirilmesine olanak tanır. Docker’ın sunduğu bu araçlar sayesinde geliştiriciler, projelerini daha verimli bir şekilde yönetebilir ve uygulama dağıtım süreçlerini standart hale getirebilir. Docker ile yapılan işlemlerin etkin bir biçimde yapılabilmesi için yukarıda yer alan komutlar ve açıklamalar dikkatle incelenmelidir.