Takip et

Konteynerler ve Veritabanları: ‘Her Yerde Konteyner’ Günleri Veritabanıyla Buluştuğunda – Bölüm 2

Konteynerler ve Veritabanları: ‘Her Yerde Konteyner’ Günleri Veritabanıyla Buluştuğunda – Bölüm 2 Modern yazılım geliştirmenin vazgeçilmez iki unsuru: konteynerler ve veritabanları.

    

Konteynerler ve Veritabanları: 'Her Yerde Konteyner' Günleri Veritabanıyla Buluştuğunda - Bölüm 2

Modern yazılım geliştirmenin vazgeçilmez iki unsuru: konteynerler ve veritabanları. Peki ya bu iki güçlü teknolojiyi bir araya getirdiğimizde neler olur? Konteynerlerin esnekliği ve veritabanlarının veri yönetimi konusundaki gücü birleştiğinde ortaya çıkan senaryoları, zorlukları ve çözümleri bu makalede derinlemesine inceleyeceğiz. Özellikle ilk bölümde temel kavramlara değinmiştik; şimdi ise işin biraz daha mutfağına inip, bu entegrasyonun pratik yönlerine odaklanacağız. Verilerinizi konteynerler içinde güvenli ve verimli bir şekilde yönetmek için bilmeniz gereken her şey burada!

Konteynerler İçinde Veritabanı Yönetimi: Neden Önemli?

Günümüzün çevik yazılım geliştirme süreçlerinde, uygulamaların hızlıca devreye alınması, ölçeklendirilmesi ve yönetilmesi büyük önem taşıyor. İşte tam bu noktada konteyner teknolojileri, yani Docker gibi araçlar devreye giriyor. Bir uygulamanın tüm bağımlılıkları, kütüphaneleri ve ayarlarıyla birlikte izole bir ortamda paketlenmesini sağlayan konteynerler, uygulamalarımızı her yerde aynı şekilde çalıştırma garantisi sunuyor. Ancak, bir uygulamanın çalışması için veri depolama ihtiyacı da kaçınılmazdır. İşte bu veri depolama ihtiyacını karşılayan temel yapı taşlarından biri de veritabanlarıdır. Konteynerler içinde veritabanı çalıştırmak, geliştirme ve üretim ortamlarında tutarlılık sağlamak, bağımlılıkları yönetmek ve ölçeklenebilirliği artırmak gibi birçok avantaj sunar. Örneğin, bir geliştirici yerel makinesinde bir veritabanı sunucusunu kurup yapılandırmak yerine, veritabanını içeren bir Docker imajını çekip anında kullanmaya başlayabilir. Bu, geliştirme sürecini önemli ölçüde hızlandırır ve "benim makinemde çalışıyordu" gibi sorunların önüne geçer. Üretim ortamlarında ise, talebin artmasıyla birlikte veritabanı örneklerini kolayca çoğaltabilir ve yükü dağıtabilirsiniz. Bu esneklik, özellikle yüksek trafikli web siteleri ve mikroservis mimarileri için hayati önem taşır. Konteynerler, veritabanı sunucularını bağımsızlaştırarak, ana uygulamadan ayrı olarak güncellemeler yapılmasına veya farklı veritabanı sürümlerinin aynı anda çalıştırılmasına olanak tanır. Bu da sistem bakımını ve güncellemelerini daha az riskli hale getirir. Ayrıca, konteyner orkestrasyon araçları (Kubernetes gibi) ile veritabanı örneklerinizin yedeklenmesi, kurtarılması ve yüksek erişilebilirlik senaryolarının yönetilmesi de otomatize edilebilir.

Konteynerlerde Veritabanı Kullanmanın Avantajları Nelerdir?

Konteynerler içinde veritabanı çalıştırmanın sunduğu temel avantajları birkaç başlık altında toplayabiliriz. Bu avantajlar, hem geliştirme hem de operasyonel ekipler için önemli faydalar sağlar:

  • Tutarlılık ve İzole Ortamlar: Her veritabanı örneği, kendi bağımlılıkları ve yapılandırmasıyla birlikte izole bir konteynerde çalışır. Bu, farklı ortamlarda (geliştirme, test, üretim) tutarlılık sağlar ve "benim ortamımda çalışıyordu" sendromunu ortadan kaldırır. Geliştiriciler, veritabanı sunucusunun işletim sistemi veya diğer yazılımlarla çakışması endişesi duymadan kendi ortamlarında çalışabilirler.
  • Hızlı Kurulum ve Dağıtım: Veritabanı imajları genellikle önceden yapılandırılmış olarak gelir. Bu sayede, bir veritabanı sunucusunu sıfırdan kurmak ve yapılandırmak yerine, sadece birkaç komutla çalışır hale getirebilirsiniz. Bu, özellikle hızlı prototipleme ve geliştirme süreçlerinde büyük zaman kazandırır. Bir PostgreSQL veritabanını Docker ile ayağa kaldırmak, manuel kurulumdan çok daha hızlıdır.
  • Ölçeklenebilirlik ve Esneklik: Konteyner orkestrasyon araçları (Kubernetes gibi) ile veritabanı örneklerini kolayca ölçeklendirebilirsiniz. Talebin artması durumunda yeni veritabanı konteynerleri ekleyebilir, talebin azalması durumunda ise gereksiz kaynakları serbest bırakabilirsiniz. Bu dinamik ölçeklendirme, maliyetleri optimize etmeye yardımcı olur.
  • Kolay Yönetim ve Otomasyon: Konteyner teknolojileri, veritabanı yedekleme, geri yükleme, güncelleme ve izleme gibi operasyonel görevleri otomatize etmeyi kolaylaştırır. Orkestrasyon araçları, veritabanı yüksek erişilebilirliğini ve hata toleransını sağlamak için gereken karmaşık yapılandırmaları yönetebilir.
  • Bağımlılık Yönetimi: Uygulamanızın gerektirdiği belirli bir veritabanı sürümünü veya yapılandırmasını bir konteyner imajına sabitleyebilirsiniz. Bu, uygulamanızın her zaman beklendiği gibi çalışmasını sağlar ve gelecekteki güncellemelerden kaynaklanabilecek uyumluluk sorunlarını en aza indirir.

Veritabanı Verilerini Kalıcı Hale Getirme: Konteynerlerin Sınırı

Konteynerlerin en temel özelliklerinden biri geçici olmalarıdır. Bir konteyner silindiğinde, içindeki tüm veriler de kaybolur. Bu, veritabanı gibi kalıcı veri depolaması gerektiren uygulamalar için ciddi bir sorundur. Neyse ki, bu sorunu çözmek için birkaç etkili yöntem bulunmaktadır. Bu yöntemler, verilerin konteyner yaşam döngüsünden bağımsız olarak güvenli bir şekilde saklanmasını sağlar.

Veri Hacimleri (Volumes) Nedir ve Nasıl Kullanılır?

Docker'da veri hacimleri (volumes), konteynerlerin dışındaki depolama alanlarını ifade eder. Bu alanlar, konteyner silinse bile verilerin kalıcı olmasını sağlar. Veri hacimleri, Docker ana makinesinde belirli bir dizine veya yönetilen bir depolama alanına bağlanabilir. Bu sayede, konteyner içinde çalışan veritabanı, verilerini bu hacimlere yazar ve konteyner yeniden başlatıldığında veya silinip yeniden oluşturulduğunda aynı verilere erişmeye devam eder. Veri hacimleri, veritabanı verilerini yönetmenin en yaygın ve önerilen yoludur.

Örneğin, bir PostgreSQL veritabanını bir veri hacmi ile çalıştırmak için aşağıdaki gibi bir komut kullanabilirsiniz:

html

docker run --name my-postgres -e POSTGRES_PASSWORD=mysecretpassword -v pgdata:/var/lib/postgresql/data -d postgres

Bu komutta:

  • --name my-postgres: Konteynerimize bir isim veriyoruz.
  • -e POSTGRES_PASSWORD=mysecretpassword: PostgreSQL için şifre belirliyoruz.
  • -v pgdata:/var/lib/postgresql/data: Burası en kritik kısım. pgdata adında bir veri hacmi oluşturuyor ve bunu PostgreSQL'in veri dizini olan /var/lib/postgresql/data'ya bağlıyoruz. Docker, pgdata adında bir hacim yoksa otomatik olarak oluşturacaktır.
  • -d postgres: Arka planda çalışacak PostgreSQL imajını belirtiyoruz.

Bu komutu çalıştırdıktan sonra, pgdata hacmi Docker ana makinenizde oluşturulacak ve PostgreSQL veritabanı tüm verilerini bu hacme yazacaktır. Konteyneri silseniz bile, pgdata hacmi varlığını sürdürecektir. Yeni bir PostgreSQL konteyneri başlattığınızda ve aynı pgdata hacmini bağladığınızda, veritabanınız kaldığı yerden devam edecektir.

Bağlantılı Birimler (Bind Mounts) vs. Veri Hacimleri

Veri hacimlerine benzer bir başka kalıcılık yöntemi de bağlantılı birimlerdir (bind mounts). Bağlantılı birimler, Docker ana makinesindeki belirli bir dizini doğrudan bir konteyner içindeki bir yola bağlar. Veri hacimleri Docker tarafından yönetilirken, bağlantılı birimler kullanıcının ana makinedeki dizin yapısını doğrudan kullanır.

Bağlantılı birim kullanmanın bir örneği:

html

docker run --name my-mysql -e MYSQL_ROOT_PASSWORD=mysecretpassword -v /path/on/host/mysql-data:/var/lib/mysql -d mysql

Burada /path/on/host/mysql-data, Docker ana makinenizdeki bir dizindir. Bu yöntem, geliştirme sırasında yapılandırma dosyalarını veya başlangıç betiklerini kolayca konteynere enjekte etmek için kullanışlı olabilir. Ancak, veri hacimleri genellikle veritabanı verileri için daha iyi bir seçenektir çünkü Docker'ın depolama yönetimini kullanır ve platformlar arası taşınabilirlik konusunda daha esnektir.

Veri hacimleri, Docker'ın kendi içindeki depolama sürücülerini kullanarak verileri yönettiği için genellikle daha güvenli ve performanslıdır. Bağlantılı birimler ise ana makinedeki dosya sistemiyle doğrudan etkileşim kurar, bu da izin sorunlarına veya farklı işletim sistemleri arasında uyumluluk sorunlarına yol açabilir. Veritabanı verilerinin kalıcılığı söz konusu olduğunda, veri hacimleri genellikle daha sağlam ve yönetilebilir bir çözümdür.

Veritabanı Verilerini Yedekleme ve Geri Yükleme Stratejileri

Konteynerler içinde çalışan veritabanlarının verilerini kalıcı hale getirmek önemli olsa da, veri kaybı riskini tamamen ortadan kaldırmak için etkili bir yedekleme ve geri yükleme stratejisine sahip olmak da aynı derecede kritiktir. Donanım arızaları, insan hataları veya kötü niyetli saldırılar her zaman olasılık dahilindedir. Bu nedenle, düzenli ve güvenilir yedeklemeler, iş sürekliliği için vazgeçilmezdir.

Otomatik Yedekleme Scriptleri Oluşturma

Konteyner tabanlı veritabanları için otomatik yedekleme scriptleri oluşturmak, operasyonel yükü azaltır ve yedekleme işleminin düzenli olarak yapılmasını sağlar. Bu scriptler, veritabanı imajının sağladığı komut satırı araçlarını veya özel yedekleme araçlarını kullanabilir.

Örneğin, PostgreSQL için bir yedekleme scripti şu şekilde olabilir:

html

#!/bin/bash

      CONTAINER_NAME="my-postgres"
      BACKUP_DIR="/path/to/your/backups"
      DATE=$(date +"%Y%m%d_%H%M%S")
      BACKUP_FILE="${BACKUP_DIR}/${CONTAINER_NAME}_${DATE}.sql.gz"

      echo "Starting backup for ${CONTAINER_NAME}..."

      docker exec ${CONTAINER_NAME} pg_dumpall -U postgres | gzip > ${BACKUP_FILE}

      if [ $? -eq 0 ]; then
        echo "Backup successful: ${BACKUP_FILE}"
      else
        echo "Backup failed!"
        exit 1
      fi

      # Eski yedekleri temizleme (isteğe bağlı)
      find ${BACKUP_DIR} -type f -name "${CONTAINER_NAME}_*.sql.gz" -mtime +7 -delete
      echo "Old backups cleaned."

      exit 0

Bu script:

  • Belirtilen konteynerin adını alır.
  • Yedeklerin saklanacağı dizini belirler.
  • Tarih ve saat damgası ile benzersiz bir yedekleme dosyası adı oluşturur.
  • docker exec komutu ile konteyner içindeki pg_dumpall komutunu çalıştırır ve çıktıyı gzip ile sıkıştırarak belirtilen dosyaya yazar.
  • Yedeklemenin başarılı olup olmadığını kontrol eder.
  • İsteğe bağlı olarak, 7 günden eski yedekleri silerek disk alanını yönetir.

Bu scripti bir cron job ile belirli aralıklarla çalıştırarak otomatik yedekleme sağlayabilirsiniz.

Veri Hacimlerinin Yedeklenmesi

Yukarıda bahsettiğimiz gibi, veritabanı verileri genellikle veri hacimlerine yazılır. Bu veri hacimlerinin kendisini yedeklemek de etkili bir stratejidir. Bu, ana makinedeki veri hacmi dizinini kopyalamak veya özel yedekleme araçları kullanmak suretiyle yapılabilir. Örneğin, eğer veri hacminiz ana makinede belirli bir dizine bağlıysa (bağlantılı birimler durumunda olduğu gibi) veya Docker'ın yönettiği hacimlerin fiziksel konumunu biliyorsanız, bu dizinleri düzenli olarak yedekleyebilirsiniz.

Daha gelişmiş senaryolarda, veritabanı sağlayıcısının sunduğu özel yedekleme araçları (örneğin, MySQL'in mysqldump'ı veya MongoDB'nin mongodump'ı) konteyner içinde çalıştırılarak elde edilen yedek dosyalarının, ana makinedeki kalıcı bir depolama alanına (bulut depolama, ağ depolama vb.) aktarılması sağlanabilir. Bu, hem veri bütünlüğünü korur hem de yedeklerin coğrafi olarak farklı bir yerde saklanmasını sağlayarak felaket kurtarma senaryolarında ek bir güvenlik katmanı sunar.

Geri Yükleme Prosedürleri ve Testleri

Yedekleme ne kadar önemliyse, geri yükleme prosedürlerinin de aynı derecede iyi tanımlanmış ve test edilmiş olması gerekir. Bir felaket anında, yedekleme dosyalarınızın doğru şekilde çalıştığından ve verileri başarıyla geri yükleyebileceğinizden emin olmalısınız. Bu nedenle, düzenli olarak geri yükleme testleri yapmak hayati önem taşır.

Geri yükleme prosedürü genellikle şu adımları içerir:

  1. Yeni bir veritabanı konteyneri başlatın (veya mevcut olanı durdurup temizleyin).
  2. Veri hacmini veya yedekleme dosyasını konteynere bağlayın/aktarın.
  3. Veritabanı sağlayıcısının geri yükleme komutlarını çalıştırın (örneğin, PostgreSQL için psql veya pg_restore).
  4. Verilerin doğru şekilde geri yüklendiğini doğrulayın.

Bu testlerin düzenli olarak yapılması, hem prosedürlerin doğruluğunu teyit eder hem de operasyonel ekiplerin bu sürece hakim olmasını sağlar. Unutmayın, bir yedekleme yalnızca geri yüklenebildiği sürece değerlidir.

Güvenlik Hususları: Konteynerlerde Veritabanı Güvenliğini Sağlama

Veritabanları, hassas bilgilerin depolandığı yerlerdir. Bu nedenle, konteynerler içinde veritabanı çalıştırırken güvenlik en üst düzeyde tutulmalıdır. Güvenlik açıkları, veri ihlallerine, sistem kesintilerine ve itibar kaybına yol açabilir. Konteynerlerin getirdiği bazı avantajlar olsa da, kendi güvenlik risklerini de beraberinde getirebilirler.

Varsayılan Şifreleri Değiştirme ve Erişim Kontrolü

Konteyner imajları genellikle varsayılan veya örnek şifrelerle birlikte gelir. Bu şifrelerin hemen değiştirilmesi, en temel güvenlik adımlarından biridir. Örneğin, yukarıdaki PostgreSQL örneğinde POSTGRES_PASSWORD ortam değişkenini kullanarak güçlü bir şifre belirledik. Benzer şekilde, MySQL, MongoDB gibi diğer veritabanları için de varsayılan kullanıcı adı ve şifreleri hemen değiştirilmelidir.

Erişim kontrolü de kritik öneme sahiptir. Veritabanına kimlerin erişebileceği ve hangi yetkilere sahip olacağı dikkatlice belirlenmelidir. Konteyner içinde çalışan veritabanı için, ağ erişimini kısıtlamak, yalnızca gerekli portlara izin vermek ve güçlü kimlik doğrulama mekanizmaları kullanmak önemlidir.

Ağ Güvenliği ve Port Yönlendirme

Konteynerler, kendi izole ağlarına sahip olabilirler. Veritabanı konteynerinin dış dünyaya veya diğer konteynerlere nasıl eriştiğini yapılandırmak, güvenlik açısından önemlidir. Genellikle, veritabanı sunucusu doğrudan internete açık bırakılmaz. Bunun yerine, yalnızca belirli uygulamaların veya servislerin erişimine izin verilir. Docker'da port yönlendirme (port mapping) kullanılırken, yalnızca güvenilir kaynaklardan gelen bağlantılara izin vermek ve gereksiz portları kapatmak önemlidir.

Örneğin, bir web uygulamasının veritabanına erişmesi gerekiyorsa, veritabanı konteynerinin portu (örneğin, PostgreSQL için 5432) yalnızca web uygulaması konteynerinin erişebileceği şekilde yapılandırılabilir. Bu, doğrudan internetten gelen yetkisiz erişimleri engeller.

Güvenlik Yamaları ve Güncellemeler

Konteyner imajları ve içerdikleri yazılımlar düzenli olarak güncellenmelidir. Veritabanı yazılımlarındaki güvenlik açıkları, zamanla keşfedilebilir ve bu açıkları kapatmak için güvenlik yamaları yayınlanır. Konteyner tabanlı bir ortamda, bu güncellemeleri takip etmek ve imajları güncel tutmak, güvenlik duruşunu güçlendirir. Güvenlik açıkları bilinen eski imajları kullanmak, sisteminizi saldırılara karşı savunmasız bırakır.

Düzenli olarak imajları güncellemek ve yeni sürümleri test etmek, güvenlik risklerini azaltmanın önemli bir yoludur. Ayrıca, konteyner güvenlik tarama araçları kullanarak imajlarınızdaki potansiyel güvenlik açıklarını tespit edebilirsiniz.

Vaka Analizi: Mikroservis Mimarisinde Veritabanı Yönetimi

Bir e-ticaret platformunu ele alalım. Bu platform, kullanıcı yönetimi, ürün kataloğu, sipariş işleme ve ödeme gibi farklı işlevleri yerine getiren birçok mikroservisten oluşmaktadır. Her mikroservisin kendi veritabanı ihtiyacı olabilir ve bu veritabanlarının konteynerler içinde yönetilmesi kaçınılmazdır.

Senaryo: Her Mikroservis Kendi Veritabanına Sahip

Bu e-ticaret platformunda, her mikroservis kendi veritabanını yönetebilir. Örneğin:

  • Kullanıcı Servisi: Kullanıcı bilgilerini (ad, soyad, e-posta, şifre vb.) depolamak için PostgreSQL gibi ilişkisel bir veritabanı kullanabilir.
  • Ürün Kataloğu Servisi: Ürün detaylarını, stok bilgilerini ve kategorileri depolamak için yine PostgreSQL veya daha esnek bir NoSQL veritabanı (örneğin, MongoDB) kullanabilir.
  • Sipariş Servisi: Sipariş detaylarını, durumlarını ve geçmişini depolamak için ilişkisel bir veritabanı tercih edebilir.
  • Ödeme Servisi: Ödeme işlemleriyle ilgili hassas verileri (kredi kartı bilgileri olmamalı, tokenlar saklanmalı) güvenli bir şekilde yönetmek için özel bir veritabanı çözümü kullanabilir.

Her bir veritabanı, kendi Docker konteynerinde çalıştırılır. Veri hacimleri kullanılarak veriler kalıcı hale getirilir. Bu, her servisin kendi veritabanı üzerinde tam kontrole sahip olmasını sağlar ve bir servisteki veritabanı sorununun diğer servisleri etkilemesini engeller. Örneğin, ürün kataloğu veritabanı bakıma alınırken veya yeniden başlatılırken, kullanıcı servisi veya sipariş servisi etkilenmez.

Orkestrasyon ve Ölçeklendirme Zorlukları

Bu tür bir mikroservis mimarisinde, yüzlerce veya binlerce konteynerin yönetilmesi gerekliliği ortaya çıkar. İşte burada Kubernetes gibi konteyner orkestrasyon araçları devreye girer. Kubernetes, veritabanı konteynerlerinin dağıtımını, ölçeklendirilmesini, kendi kendini iyileştirmesini ve ağ iletişimini otomatikleştirir.

Örneğin, bir indirim kampanyası sırasında ürün kataloğu veritabanına olan yük arttığında, Kubernetes otomatik olarak daha fazla veritabanı örneği başlatabilir (replication) ve yükü bu örneklere dağıtabilir. Aynı şekilde, bir veritabanı konteyneri çökerse, Kubernetes otomatik olarak yeni bir örnek başlatır ve veri hacmini bu yeni konteynere bağlar. Bu, yüksek erişilebilirlik ve kesintisiz hizmet sağlar.

Veri yedekleme ve geri yükleme de Kubernetes içinde yönetilebilir. Özel operator'ler veya cron job'lar aracılığıyla düzenli yedeklemeler alınabilir ve felaket kurtarma senaryoları için hazırlık yapılabilir. Bu karmaşık ortamda veritabanı yönetimi, sadece doğru teknolojileri seçmekle kalmaz, aynı zamanda bu teknolojileri etkin bir şekilde otomatize etmekle de ilgilidir.

Sonuç: Konteynerler ve Veritabanları Geleceğin Temeli

Konteyner teknolojilerinin yükselişiyle birlikte, veritabanlarını bu modern altyapı paradigmalarına entegre etmek artık bir zorunluluk haline gelmiştir. Konteynerler, geliştirme süreçlerini hızlandırır, uygulamaların taşınabilirliğini artırır ve ölçeklenebilirlik avantajları sunar. Veritabanları ise bu esnek yapının kalbinde yer alan, verilerin kalıcılığını ve güvenliğini sağlayan temel bileşenlerdir.

Veri hacimleri, bağlantılı birimler ve etkili yedekleme/geri yükleme stratejileri, konteynerler içinde veritabanı yönetmenin temel taşlarıdır. Güvenlik duvarlarını güçlendirmek, varsayılan şifreleri değiştirmek ve düzenli güncellemeler yapmak, hassas verilerinizi korumak için atılması gereken adımlardır. Mikroservis mimarileri gibi karmaşık senaryolarda, Kubernetes gibi orkestrasyon araçları, veritabanı yönetimini otomatize ederek operasyonel verimliliği artırır.

Konteynerler ve veritabanları arasındaki bu güçlü birliktelik, günümüzün dinamik yazılım geliştirme dünyasında yenilikçiliğin ve verimliliğin anahtarıdır. Bu teknolojileri doğru anlamak ve uygulamak, hem geliştiriciler hem de operasyon ekipleri için önemli avantajlar sağlayacaktır.

Sıkça Sorulan Sorular

  • Konteynerler içindeki veritabanı verileri kaybolur mu? Hayır, veri hacimleri (volumes) veya bağlantılı birimler (bind mounts) kullanarak verileri kalıcı hale getirebilirsiniz. Konteyner silinse bile bu depolama alanlarındaki veriler korunur.
  • Hangi veritabanları konteynerler içinde çalıştırılabilir? Neredeyse tüm popüler veritabanları (PostgreSQL, MySQL, MongoDB, Redis vb.) Docker imajları aracılığıyla konteynerler içinde çalıştırılabilir.
  • Konteynerlerde veritabanı güvenliği nasıl sağlanır? Varsayılan şifreleri değiştirmek, güçlü erişim kontrolleri uygulamak, ağ güvenliğini sağlamak ve yazılımları güncel tutmak temel güvenlik adımlarıdır.
  • Kubernetes ile veritabanı yönetimi nasıl yapılır? Kubernetes, veritabanı konteynerlerinin dağıtımını, ölçeklendirilmesini, yüksek erişilebilirliğini ve kendi kendini iyileştirmesini otomatikleştirir. Özel operator'ler veya StatefulSets gibi yapılar veritabanı yönetimi için kullanılır.
  • Veri hacimleri ve bağlantılı birimler arasındaki temel fark nedir? Veri hacimleri Docker tarafından yönetilen depolama alanlarıdır ve genellikle veritabanı verileri için daha uygundur. Bağlantılı birimler ise ana makinedeki belirli dizinleri doğrudan konteynere bağlar ve daha çok yapılandırma dosyaları için kullanılır.
#Konteyner #Veritabanı #Docker #Kubernetes #YazılımGeliştirme #VeriYönetimi

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.