Kamer Elciyar

Personal Blog

Docker ile PostgreSQL Kurulumu

Posted at — Dec 21, 2019

Merhaba, bu yazıda Docker ile PostgreSQL container‘ı ayağa kaldırmayı ve kullanmayı anlatacağım. Yazı herhangi bir Docker bilgisi gerektirmemektedir. Yalnızca kulak aşinalığı yeterlidir. Komutları tek tek açıklayacağım.

Bilgisayarınızda Docker’ın kurulu olduğunu varsayıyorum. Eğer yüklü değilse bu bağlantıya giderek kurulum yapabilirsiniz.

1. Uygun bir image bulmak

Bu adım zorunlu değildir. Docker’ı giriş seviyesinde bilenler için ekstra bir adımdır.

Kullanmak istediğimiz image‘ı Docker Hub’dan arayacağız. Bunun için terminalden docker search postgresql şeklinde bir arama yapabiliriz. Bu arama aşağıdaki çıktıyı verecektir:

Docker Search

En üstte postgres adıyla yayınlanmış official olarak işaretlenmiş bir image göreceksiniz. Bu bizim işimizi görüyor.

Arama yapmak için diğer bir seçenek ise Docker Hub’dır. Bunun için https://hub.docker.com/ adresine giderek arama yapabilirsiniz.

2. İmage‘ı indirmek ve container oluşturmak

Bir önceki adımda kullanacağımız image‘ı bulduk. (postgres) Şimdi de image dosyasını indirip container oluşturacağız.

Bunun için docker pull postgres yazın ve indirmenin bitmesini bekleyin. İndirme bittikten sonra kontrol etmek isterseniz docker images veya docker image ls komutlarını kullanabilirsiniz.

Eğer image sorunsuz olarak indiyse aşağıdaki komut ile container oluşturabilirsiniz:

docker run --name <CONTAINER_ADI> -e POSTGRES_PASSWORD=<ROOT_PAROLASI> -d -p 5432:5432 -v <HOST'TA_HERHANGI_BIR_DIZIN>:/var/lib/postgresql/data  postgres

Komutu parça parça inceleyelim.

Yukarıdaki taslağı kullanarak aşağıdaki gibi bir komut çalıştırıyorum:

docker run --name docker_postgres -e POSTGRES_PASSWORD=123456 -d -p 5432:5432 -v $HOME/docker/volumes/postgres:/var/lib/postgresql/data postgres

Komutu çalıştırdığımda -d yazdığım için ekrana yalnızca container id’sini yazacak. Container‘ın çalışıp çalışmadığını görmek için docker container ls veya docker ps yazabilirsiniz.

3. psql’e Erişmek

Çalışan container’ın psql terminaline erişmek için ise aşağıdaki komutu yazıyoruz:

docker exec -it <CONTAINER_ADI> psql -U <KULLANICI_ADI>

Bu komutu da parçalara bölelim:

Bundan sonraki aşamalar Docker’dan bağımsız olarak ilerliyor. Psql ile veritabanı oluşturup dilediğiniz client ile bağlanabilirsiniz. Bu yazıyı hazırlarken yalnızca Docker dokümanlarından faydalandım. Komutların referansları aşağıdadır:

Email: kamer@kamerelciyar.com

Twitter: https://twitter.com/kamer_ee