Docker Nedir ve Docker Compose Ne İşe Yarar?
Öncelikle, Docker’ı anlamanız önemli. Docker, uygulamalarınızı ve servislerinizi izole konteynerlerde çalıştırmanızı sağlar. Bu konteynerler, yazılımınızın her ortamda aynı şekilde çalışmasını garanti eder. Ancak, birçok uygulama birden fazla servisten oluşur ve bu servislerin bir arada çalışabilmesi için yönetilmeleri gerekir. İşte burada Docker Compose devreye girer.
Docker Compose, birden fazla konteyneri tanımlayıp çalıştırmanıza olanak tanır. Her şey, bir YAML dosyasına (docker-compose.yml) tanımlanır ve tüm uygulamanın servisleri bu dosya üzerinden başlatılır. Yani, her seferinde tüm konteynerleri elle başlatmak yerine, sadece tek bir komutla her şey çalışmaya başlar.
Windows’a Docker Compose Nasıl Kurulur?
Windows üzerinde Docker Compose kullanabilmek için ilk adım, Docker Desktop’ı kurmaktır. Docker Desktop, Docker’ın Windows üzerinde çalışmasını sağlayan bir uygulamadır. Eğer Docker Desktop’ı henüz kurmadıysanız, aşağıdaki adımları takip edin:
1. Docker Desktop’ı indirip kurun: [Docker İndir](https://www.docker.com/products/docker-desktop)
2. Kurulum sırasında, WSL 2 (Windows Subsystem for Linux) desteğini etkinleştirmeyi unutmayın.
3. Docker Desktop’ı başlatın ve Docker’ın doğru şekilde çalıştığından emin olun.
Docker Desktop kurulumunun ardından, Docker Compose ile ilgili gerekli araçları otomatik olarak kurmuş oluyorsunuz. Artık, terminal üzerinden Docker Compose komutlarını kullanabilirsiniz!
Docker Compose ile Basit Bir Proje Oluşturma
Şimdi asıl eğlenceli kısmı yapalım: Docker Compose ile basit bir proje oluşturacağız. Bu projede bir web uygulaması ve bir veritabanı konteynerini bir arada çalıştıracağız. Adım adım gidelim:
1. Proje Klasörü Oluşturun
Öncelikle, yeni bir klasör açalım ve içine girelim:
mkdir my_docker_project
cd my_docker_project
2. Docker Compose Dosyasını Yazın
Proje klasöründe bir `docker-compose.yml` dosyası oluşturun ve içine aşağıdaki içeriği ekleyin:
version: '3'
services:
web:
image: nginx:latest
ports:
- "8080:80"
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: example
Burada, `web` servisi Nginx kullanarak bir web sunucusu çalıştıracak ve `db` servisi MySQL çalıştıracak. Web sunucusunun dışarıya 8080 portu üzerinden erişilmesi sağlanıyor.
3. Docker Compose ile Servisleri Başlatın
Docker Compose dosyamızı yazdıktan sonra, tüm servislere başlamak için şu komutu çalıştırıyoruz:
docker-compose up
Bu komut, `docker-compose.yml` dosyasındaki tüm servisleri başlatacak. Artık web sunucunuza http://localhost:8080 adresinden ulaşabilirsiniz.
Docker Compose Komutları
Docker Compose ile çalışırken birkaç temel komut vardır. İşte en yaygın kullanılanlar:
- docker-compose up: Tüm servisleri başlatır.
- docker-compose down: Çalışan konteynerleri durdurur ve siler.
- docker-compose ps: Çalışan servislerin durumunu gösterir.
- docker-compose logs: Servislerin loglarını görüntüler.
Docker Compose İle Çalışırken Dikkat Edilmesi Gerekenler
Docker Compose kullanırken dikkat etmeniz gereken bazı noktalar şunlardır:
- Port Çakışmalarına Dikkat Edin: Aynı portu kullanan iki servis çalıştıramazsınız. Eğer portlar çakışıyorsa, `docker-compose.yml` dosyasındaki port numaralarını değiştirmeniz gerekecek.
- Konteyner Bağlantılarını Yapın: Eğer servisler birbirine bağımlıysa, doğru bağlantıları yapmalısınız. Bu sayede servisler birbiriyle düzgün çalışabilir.
- Volume Kullanımı: Veritabanı gibi verilerin kaybolmaması gereken servislerde volume kullanmayı unutmayın.
Sonuç
Docker Compose, Windows üzerinde uygulama geliştirenler için büyük kolaylık sağlar. Konteynerlerinizi hızlı bir şekilde başlatabilir ve birden fazla servisi kolayca yönetebilirsiniz. Şimdi, siz de kendi projelerinizi Docker Compose ile çalıştırmaya başlayabilir, her şeyin sorunsuz bir şekilde çalıştığını görebilirsiniz.
Docker Compose ile ilgili her şeyi öğrendik! Şimdi sıra sizde: kendi projelerinizi oluşturmaya başlayın!