Docker Compose, birden fazla konteyneri tek bir komutla başlatmanıza, durdurmanıza ve yönetmenize olanak tanır. Şimdi, adım adım nasıl Docker Compose kullanabileceğinizi keşfedeceğiz.
Docker Compose Nedir?
Docker Compose Kurulumu
Docker Compose'ı kurmak için terminalinize şu komutu yazabilirsiniz:
sudo apt-get install docker-compose
Kurulum tamamlandıktan sonra, şu komut ile kurulumun başarılı olup olmadığını kontrol edebilirsiniz:
docker-compose --version
Eğer versiyon bilgisini görüyorsanız, her şey yolunda demektir.
Docker Compose Dosyası (docker-compose.yml)
Şimdi, basit bir örnek üzerinden gidelim. Diyelim ki bir web uygulamanız var ve bu uygulamanın bir veritabanına ihtiyacı var. Hem web servisini hem de veritabanını Docker Compose ile birlikte başlatmak isteyelim.
Aşağıdaki `docker-compose.yml` dosyasını inceleyelim:
version: '3'
services:
web:
image: nginx:latest
ports:
- "8080:80"
networks:
- app-network
db:
image: mysql:latest
environment:
MYSQL_ROOT_PASSWORD: root_password
networks:
- app-network
networks:
app-network:
driver: bridge
Açıklamalar:
- services: Bu bölümde, çalıştırmak istediğiniz tüm konteynerler tanımlanır. Her servisin adı altında, hangi Docker imajını kullanacağı ve diğer yapılandırmalar yer alır.
- `web` servisi, nginx imajını kullanarak 8080 portunu 80 portuna yönlendiriyor.
- `db` servisi ise mysql imajını kullanıyor ve bir kök parolası belirliyor.
- networks: Konteynerlerin birbirleriyle iletişim kurabilmesi için aynı ağda olmaları gerekir. Burada, her iki servisi de aynı `app-network` ağına bağlıyoruz.
Docker Compose ile Uygulama Başlatma
docker-compose up
Eğer arka planda çalışmasını isterseniz, -d parametresini eklemeyi unutmayın:
docker-compose up -d
Bu komut, hem web hem de veritabanı konteynerini başlatır. Şimdi, http://localhost:8080 adresinden nginx sunucunuzu görebilirsiniz!
Docker Compose ile Durum Kontrolü
docker-compose ps
Bu komut, hangi konteynerlerin çalıştığını ve hangi portların açıldığını gösterir.
Docker Compose ile Durdurma ve Temizleme
docker-compose down
Eğer konteynerlerinizin yanı sıra, ağ yapılandırmalarını ve veritabanlarını da silmek istiyorsanız, -v parametresini kullanabilirsiniz:
docker-compose down -v
Sonuç
Hadi, şimdi bir kahve alıp, Docker Compose ile uygulamanızı oluşturmaya başlama zamanı!