Node.js, PostgreSQL ve MongoDB Docker ile Buluşuyor: Docker Günlükleri
Merhaba! Ben Fatih Soysal ve bu yazıda, Node.js uygulamalarınızda PostgreSQL ve MongoDB veritabanlarını Docker kullanarak nasıl kolayca entegre edeceğinizi adım adım anlatacağım. Docker’ın sunduğu izolasyon ve kolay yönetim sayesinde geliştirme sürecini hızlandıracak ve platform bağımsızlığı kazanacaksınız. Öncelikle, Docker ve Docker Compose’un sisteminize kurulu olduğundan emin olmalısınız. Kurulumla ilgili detaylı bilgiye Docker resmi web sitesinden ulaşabilirsiniz.
Proje Yapısı ve Dockerfile’lar
Öncelikle, projemizin temel yapısını oluşturalım. Proje dizininde docker-compose.yml, PostgreSQL ve MongoDB dizinleri olacak. Her bir veritabanı için ayrı bir Dockerfile oluşturacağız. Bu sayede, veritabanlarını bağımsız olarak yönetebilir ve ölçeklendirebiliriz.
PostgreSQL Dockerfile’ı
FROM postgres:13
ENV POSTGRES_USER=myuser
ENV POSTGRES_PASSWORD=mypassword
ENV POSTGRES_DB=mydb
Bu Dockerfile, PostgreSQL’in 13. sürümünü temel alır ve veritabanı kullanıcı adı, şifresi ve veritabanı adını tanımlar. Daha detaylı ayarlar için PostgreSQL resmi dokümanlarına bakabilirsiniz. Benzer şekilde, MongoDB için de bir Dockerfile oluşturacağız.
MongoDB Dockerfile’ı
FROM mongo:latest
Bu Dockerfile, MongoDB’nin en son sürümünü kullanır. Daha fazla özelleştirme için MongoDB resmindeki seçenekleri inceleyebilirsiniz. Şimdi, Docker Compose’u kullanarak bu veritabanlarını çalıştıracağız.
Docker Compose ile Ortam Kurulumu
docker-compose.yml dosyasında, veritabanlarını nasıl çalıştıracağımızı tanımlarız. Bu dosya, her bir veritabanı için gereken ayarları ve bağlantı noktalarını içerir. Örneğin;
version: "3.9"
services:
db:
image: postgres:13
environment:
- POSTGRES_USER=myuser
- POSTGRES_PASSWORD=mypassword
- POSTGRES_DB=mydb
ports:
- "5432:5432"
mongo:
image: mongo:latest
ports:
- "27017:27017"
Bu yapılandırmada, PostgreSQL 5432, MongoDB ise 27017 portunu kullanacaktır. docker-compose up -d komutu ile veritabanlarını arka planda çalıştırabilirsiniz. Bu aşamadan sonra, Node.js uygulamanızda bu veritabanlarına bağlanabilirsiniz.
Node.js Uygulaması ve Veritabanı Bağlantısı
Node.js uygulamanızda, pg ve mongodb kütüphanelerini kullanarak veritabanlarına bağlanabilirsiniz. Bağlantı bilgilerini docker-compose.yml dosyasında tanımladığımız port ve isimleri kullanarak ayarlayabilirsiniz. Örneğin, PostgreSQL bağlantısı için;
const { Pool } = require('pg');
const pool = new Pool({
user: 'myuser',
host: 'db', // docker-compose.yml'de tanımlanan servis adı
database: 'mydb',
password: 'mypassword',
port: 5432,
});
MongoDB bağlantısı için benzer bir yapı kullanabilirsiniz. Uygulamanız çalışmaya başladıktan sonra, veritabanı işlemlerini gerçekleştirebilirsiniz. Daha detaylı bilgi için web sitemi ziyaret edebilirsiniz.
Sonuç
Docker, Node.js uygulamalarınız için veritabanı yönetimini oldukça kolaylaştırır. Bu rehberde, PostgreSQL ve MongoDB’yi Docker kullanarak nasıl entegre edeceğinizi adım adım anlattım. Umarım bu yazı size yardımcı olmuştur. Herhangi bir sorunuz olursa, yorumlarda sorabilirsiniz.
#Etiketler: Node.js, PostgreSQL, MongoDB, Docker, Docker Compose, Veritabanı, Geliştirme, Fatih Soysal, Containerizasyon
