0Pricing
DevOps Bootcamp · Ders

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.

Birden Çok Hizmet İçeren Uygulamaları Dağıtma — resim 1

Ö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 ps

Uygulamanıza Bağlanma

Hizmetler çalışırken web uygulamanıza erişebilirsiniz.

  • Web tarayıcınızı açın.
  • http://localhost:5000 adresine 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 -d

Hizmetleri 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 down

Hı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.yml içinde tanımladık.
  • Hizmetleri başlatmak için docker compose up -d kullandık.
  • Durumu docker compose ps ile doğruladık.
  • Hizmetleri ölçeklendirdik ve temizlik için docker compose down kullandı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

  1. Docker Compose Nedir?
  2. Compose Dosyası Yazma
  3. Birden Çok Hizmet İçeren Uygulamaları Dağıtma
  4. Ortam Değişkenleri ve .env Dosyaları
← DevOps Bootcamp Sayfasına Dön