Birden Çok Hizmet İçeren Uygulamaları Dağıtma
Docker Compose kullanarak veritabanı ve arka uç hizmeti içeren tam yığınlı bir uygulamayı dağıtın.
Birden Çok Hizmet İçeren Uygulamaları Dağıtma, CoddyKit'te ücretsiz bir DevOps Bootcamp dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, DevOps Bootcamp öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
Birden Çok Hizmet İçeren Uygulamaları Dağıtma
Hoş geldiniz! Bu derste, Docker Compose kullanarak tam yığınlı bir uygulamayı nasıl çevrimiçi hâle getireceğinizi öğreneceksiniz.
Bir web uygulaması ve veritabanı gibi birden çok hizmeti nasıl tanımlayacağınızı, ardından bunları birlikte nasıl dağıtıp yöneteceğinizi göreceksiniz.

Örneğimiz: Web ve Veritabanı
Bir veritabanına bağlanan basit bir web uygulaması dağıtacağız. Bu, gerçek dünyadaki birçok uygulama için yaygın bir kurulumdur.
- Web Hizmeti: Basit bir web sayfası sunan Python Flask uygulaması.
- Veritabanı Hizmeti: Verileri depolamak için kullanılan bir PostgreSQL veritabanı.
Docker Compose, bu iki hizmetin düzenlenmesini kolaylaştırır!
Web İmajını Oluşturma
Web hizmetimizin kendi Docker imajına ihtiyacı vardır. Python Flask uygulamamızı oluşturan basitleştirilmiş bir Dockerfile örneğini inceleyelim.
Flask'ı ve bir PostgreSQL bağlayıcısını kurar, ardından app.py dosyamızı çalıştırır.
FROM python:3.9-slim-buster
WORKDIR /app
COPY . /app
RUN pip install --no-cache-dir flask psycopg2-binary
EXPOSE 5000
CMD ["python", "app.py"]`docker-compose.yml`
Bu docker-compose.yml dosyası iki hizmetimizi tanımlar: web ve db. web hizmetinin Dockerfile dosyamızdan oluşturulduğuna ve ortam değişkenlerini kullanarak db hizmetine bağlandığına dikkat edin.
version: '3.8'
services:
web:
build: .
ports:
- "5000:5000"
environment:
DB_HOST: db
DB_NAME: mydatabase
DB_USER: user
DB_PASSWORD: password
depends_on:
- db
db:
image: postgres:13
environment:
POSTGRES_DB: mydatabase
POSTGRES_USER: user
POSTGRES_PASSWORD: password
volumes:
- db_data:/var/lib/postgresql/data
volumes:
db_data:Hizmetlerinizi Başlatma
docker-compose.yml dosyanızda tanımlanan tüm hizmetleri başlatmak için docker compose up komutunu kullanın.
-d seçeneği, kapsayıcıları "ayrık" modda çalıştırır; yani kapsayıcılar arka planda çalışır.
# This command starts your multi-service app
# and runs it in the background.
docker compose up -dÇalışan Kapsayıcıları Doğrulama
docker compose up -d komutunu çalıştırdıktan sonra tüm hizmetlerinizin beklendiği gibi çalışıp çalışmadığını denetlemek isteyebilirsiniz.
docker compose ps komutu hizmetleri, durumlarını ve bağlantı noktalarını listeler.
# Check the status of your services
docker compose psUygulamanıza Bağlanma
Hizmetler çalışırken web uygulamanıza erişebilirsiniz.
- Web tarayıcınızı açın.
http://localhost:5000adresine gidin.
PostgreSQL veritabanına bağlantıyı doğrulayan Flask uygulamamızdan bir mesaj görmelisiniz!
Hizmetleri Ölçeklendirme
Docker Compose'un güçlü özelliklerinden biri hizmetleri ölçeklendirmektir. Web uygulamanızın daha fazla trafiği karşılaması gerekiyorsa web hizmeti örneklerinin sayısını kolayca artırabilirsiniz.
--scale seçeneğini docker compose up komutuyla birlikte kullanın.
# Scale the 'web' service to 3 instances
docker compose up --scale web=3 -dHizmetleri Durdurma ve Kaldırma
Uygulamanızla işiniz bittiğinde, docker-compose.yml dosyanızda tanımlanan tüm hizmetleri ve bunların ağlarını durdurup kaldırabilirsiniz.
docker compose down komutu bu temizleme işlemini sizin için gerçekleştirir.
# Stop and remove all services
docker compose downHızlı Denetim
Kullandığımız docker-compose.yml dosyasını düşünün. Uygulamanızı az önce docker compose up -d komutuyla başlattınız.
Çalışan tüm hizmetleri ve bunlarla ilişkili kaynakları durdurup kaldırmak için kullanılan temel komut nedir?
Özet ve Sonraki Adımlar
Harika iş çıkardınız! Docker Compose kullanarak birden çok hizmet içeren bir uygulamayı nasıl dağıtacağınızı ve yöneteceğinizi öğrendiniz.
- Hizmetleri
docker-compose.ymliçinde tanımladık. - Hizmetleri başlatmak için
docker compose up -dkullandık. - Durumu
docker compose psile doğruladık. - Hizmetleri ölçeklendirdik ve temizlik için
docker compose downkullandık.
Bu, karmaşık uygulamaların yerel geliştirilmesi ve test edilmesi için temel bir beceridir!
Sıkça Sorulan Sorular
“Birden Çok Hizmet İçeren Uygulamaları Dağıtma” dersi ücretsiz mi?
Evet — “Birden Çok Hizmet İçeren Uygulamaları Dağıtma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve DevOps Bootcamp kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
“Birden Çok Hizmet İçeren Uygulamaları Dağıtma” dersinde ne öğreneceğim?
Docker Compose kullanarak veritabanı ve arka uç hizmeti içeren tam yığınlı bir uygulamayı dağıtın. DevOps Bootcamp ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
DevOps Bootcamp öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te DevOps Bootcamp, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Birden Çok Hizmet İçeren Uygulamaları Dağıtma” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu DevOps Bootcamp dersinde kod yazıp çalıştırabilir miyim?
Evet. Her DevOps Bootcamp dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Docker Compose Nedir?
- Compose Dosyası Yazma
- Birden Çok Hizmet İçeren Uygulamaları Dağıtma
- Ortam Değişkenleri ve .env Dosyaları