Get In Touch
Kadıköy, İstanbul
mail@oguzerdogan.com
Ph: +90 554 524 0164
Back

Docker ile PostgreSQL Kurulumu nasıl yapılır

Selamlar bu yazımda Docker ile PostgreSQL kurulumunu göstereceğim.

Yazı içerisinde;

  • PostgreSQL kurarken girilmesi gereken environment parametrelerini
  • Port ayarlamalarını
  • Database içerisindeki bilgilerin saklanabilmesi için volume kavramını

ele alacağız.

Hazırsanız başlayalım.

İlk olarak bilgisayarınızda Docker kurulu olması gerekiyor, bu adımlardan bahsetmeyeceğim, terminal üzerinden direkt hızlıca kurulum yapalım.

Bunun için iki yöntem göstereceğim.

Docker run ile PostgreSQL ayağa kaldırma

Docker run ile terminal üzerinden ilgili parametreleri girerek direkt kurulum yapmamız mümkün.

Not: Sisteminizde daha önce PostgreSQL kurulu ise aşağıdaki portu 5433 ya da farklı bir kapı belirtmeniz gerekecektir.

Örnek olarak aşağıdaki kısmı -p 5433:5432 olarak değiştirebilirsiniz.

docker run -d \
  --name postgres_db \
  -e POSTGRES_USER="root" \
  -e POSTGRES_PASSWORD="root" \
  -e POSTGRES_DB="workshop" \
  -v postgres_data:/var/lib/postgresql/data \
  -p 5432:5432 \
  postgres:13

-dDetach mode’da çalışır, yani kurulum olsa da terminal kullanmaya devam edebilirsiniz
–nameAyağa kaldıracağımız conteinar için bir isim belirtiyoruz.
-e POSTGRES_USERPostgreSQL içerisindeki kullanıcı adı
-e POSTGRES_PASSWORDPostgreSQL içerisindeki kullanıcı şifresi
-e POSTGRES_DBPostgreSQL içerisinde oluşturulacak database adı
-p 5432:5432PostgreSQL in hangi portta çalışacağını belirttiğimiz parametre.
postgres:13Kullanacağımız PostgreSQL image adı
-v postgres_data:/var/lib/postgresql/dataVolume parametresi. Bulunulan dizinde postgres_data klasörü oluşturur ve container ile eşler.

Volume parametresi nedir?

Docker üzerinde ayağa kaldırdığımız uygulamaların verilerini kaydetmek adına volume ile mount işlemi yaparız.

Burada da bulunduğumuz dizin içerisinde postgres_data klasörünü, container içerisindeki var/lib/postgresql/data klasörüne eşitliyorum.

Yani container içerisindeki belirttiğim dizindeki tüm değişiklikler benim container dışarısındaki local dizinime de eş zamanlı olarak yansıyacak ya da belirttiğim local dizinimdeki değişiklik container içerisindeki mount edilen dizine yansıyacak.

PostgreSQ database kayıtlarını var/lib/postgresql/data klasöründe tuttuğu için bu dizine mount işlemi uyguladık.

Docker Compose ile PostgreSQL Kurulumu

docker-compose.yaml isimli bir dosya oluşturarak içerisini aşağıdaki şekilde düzenliyorum.

version: '3'
services:
  pgdatabase:
    container_name: postgres_db
    image: postgres:13
    environment:
      - POSTGRES_USER=root
      - POSTGRES_PASSWORD=root
      - POSTGRES_DB=workshop
    volumes:
      - "./pg_data:/var/lib/postgresql/data"
    ports:
      - "5433:5432"

oluşturduğum docker-compose dosyasıyla aynı dizinde docker-compose up -d ile ayağa kaldırıyorum.

docker-compose up -d

Not: İlk işlemi yaptıktan sonra ikinci işlemi de denerseniz benzer container isimlerinden hata almanız olası.

Not: docker-compose ile yaptığımız işlemde de ilk başta 5432 ile kullandığımız portu değiştirerek 5433 yaptık.

Sisteminizde hali hazırda bir PostgreSQL kurulu ise bu şekilde yaparak farklı bir porttan kurulum yapabilirsiniz.

Pgcli ile PostgreSQL bağlanma:

pgcli -h localhost -u root -d workshop -p 5433

Oluşturduğumuz PostgreSQL’e başarılı bir şekilde bağlanabildik.

Bu yazımda

  • Docker ile PostgreSQL kurulumunu
  • Environment ve Port ayarlamalarını
  • Volume kavramını

anlattım. Gelecek yazılarımda Python ve Pandas ile oluşturduğumuz bu PostgreSQL Database üzerinde işlemler yapacağız.

Sağlıcakla kalın.

Oğuz
Oğuz
http://www.oguzerdogan.com
Data Delivery Guy

Leave a Reply

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

We use cookies to give you the best experience. Cookie Policy