Bugün Postgres, kaplarda çalışan en yaygın kullanılan Docker görüntülerinden biridir. Kapsayıcılı veritabanlarının popülaritesi, devreye alınabilmelerinin basitliğine bağlanır. Ayrıca geliştiriciler birçok uygulama için tek bir merkezi veritabanına sahip olmak yerine her uygulama için bir PostgreSQL kapsayıcısı ayırabilir.
Bu öğreticide, PostgreSQL’i bir Docker kapsayıcısında nasıl çalıştıracağınızı öğreneceksiniz.
Önkoşullar
- Bir komut satırına/terminal penceresine erişim
- olan bir kullanıcı hesabı sudo ayrıcalıklar
- Mevcut bir Docker kurulumu
PostgreSQL’i Docker Konteynerlerinde Çalıştırın
Bir Postgres kapsayıcısını dağıtmak basittir. Bu veritabanı kapsayıcılarını oluşturmak için Postgres görüntüsünü Docker’ın resmi deposunda bulabilirsiniz.
Bu kılavuz size bunu yapmanın iki yolunu gösterir.
İlk seçenek, çok konteynerli Docker uygulamalarını yönetmek için bir araç olan Docker Compose’u kullanır. Postgres’i bir kapsayıcı içinde çalışan bir hizmet olarak yapılandırmak için Docker Compose’u kullanabilirsiniz. Bu durumda, bir tatlım tüm özellikleri içeren dosya.
Alternatif olarak, kullanabilirsiniz A tek Docker komutu yeni bir PostgreSQL kapsayıcısı dağıtmak için gerekli tüm bilgilerle birlikte.
1. Seçenek: Docker Compose’u Kullanarak Postgres’i Çalıştırın
Docker Compose kullanarak bir Postgres kapsayıcısını dağıtmak için, bu Docker aracını sisteminizde kurmuş olmanız gerekir.
Bir Linux kullanıcısıysanız ve kurulum konusunda yardıma ihtiyacınız varsa, Docker Compose’u Ubuntu’ya yükleme veya Docker Compose’u CentOS’a nasıl kuracağınızla ilgili kılavuzlarımızdan birine bakın.
1. Kolay ve temiz bir kurulum sağlamak için öncelikle adında bir çalışma dizini oluşturmak istiyoruz. postgres ve bu dizine gidin:
mkdir postgres
cd postgres/
2. Ardından, Postgres görüntüsünü indirmek ve hizmeti çalışır duruma getirmek için Docker Compose’u kullanın. Bunu yeni bir tane oluşturarak yapın. docker-compose.yml istediğiniz bir düzenleyiciyle dosyalayın (bu örnekte nano kullandık):
nano docker-compose.yml
3. Aşağıdaki içeriği ekleyin liman işçisi-oluştur dosya:
version: ‘3’
service:
postgres:
image: ‘postgres: latest’
ports:
- “5432:5432”
Yaml yapılandırma dosyası, bir postgres
üzerine kurulu hizmet, latest postgres image
. En yeni Postgres sürümüne karar verebilir veya kullanmak istediğiniz sürüm numarasını belirtebilirsiniz.
Son olarak, konteynerin iletişim kurduğu bağlantı noktalarını tanımlamanız gerekir. 5432
PostgreSQL için varsayılan bağlantı noktası numarasıdır.
4. Dosyayı kaydedin ve çıkın.
5. Artık yaml yapılandırma dosyasına sahip olduğunuza göre, postgres hizmeti ve kabı çalıştırın. Kullan docker-compose up
komutu ile -d
içine koyma seçeneği ayırma modu (mevcut kabuktan komutları çalıştırmaya devam etmenize izin verir):
docker-compose up -d
6. Günlükleri şu komutla kontrol edebilirsiniz:
docker-compose logs -f
Kabuk tuşuna geri dönmek için CTRL+C.
2. Seçenek: Postgres’i Tek Bir Docker Komutu Kullanarak Çalıştırın
PostgreSQL’i bir kapsayıcıya dağıtmanın başka bir yolu, tek bir docker komutu çalıştırmaktır.
1. Gerekli tüm bilgileri tek bir komutta belirterek bir Postgres kapsayıcısını indirebilir ve çalıştırabilirsiniz.
docker run --name [container_name] -e POSTGRES_PASSWORD=[your_password] -d postgres
Komut, Docker’a belirli bir kapsayıcı adı altında yeni bir kapsayıcı çalıştırmasını söyler, Postgres parolasını tanımlar ve en son Postgres sürümünü indirir.
2. Docker’dan çalışan tüm kapsayıcıları aşağıdakilerle listelemesini isteyerek PostgreSQL kapsayıcınızın artık hazır olduğunu onaylayın:
docker ps
Bu kılavuzda, adlı bir kapsayıcı oluşturduk. örnek ve onu çalışan diğer kaplar arasında hızla bulabiliriz.
Postgres Konteynerleri ile Başlamak
Docker Container’da Postgres’e bağlanın
Bir Postgres kapsayıcısına girmek için, kap adını kullanarak çalıştırmanız ve etkinleştirmeniz gerekir. psql
Postgres için komut satırı arayüzü.
docker exec -it [container_name] psql -U [postgres_user]
Aşağıdaki örnekte, example
olarak konteyner postgres
kullanıcı
Veritabanı Oluştur
1. Docker Postgres kapsayıcısına girdikten sonra, aşağıdakilerle bir veritabanı oluşturabiliriz:
create database [db_name];
Not: PostgreSQL üzerinde çalıştırdığınız tüm veritabanlarını görüntülemek için şunu çalıştırın: \l.
2. Veritabanına postgres kullanıcı türü olarak bağlanın:
\c [db_name]
3. Veritabanı ayarlandıktan sonraki adım, veritabanı yapısının mantıksal bir temsilini elde etmenize yardımcı olacak bir şema oluşturmaktır:
create schema [db_schema_name]
4. Burada bir tablo oluşturabilir ve tabloya veri ekleyebilirsiniz.
create table [table_name] ([field_names] [values])
Not: Postgres kapsayıcısından çıkmak istiyorsanız, aşağıdakini yazın: \Q.
Çözüm
Bu makalede, Docker kapsayıcısında PostgreSQL çalıştırmanın iki farklı yolunu öğrendiniz. Bir Docker Postgres kapsayıcısını dağıttıktan sonra, gereken tüm verilerle veritabanlarınızı oluşturmaya başlayabilirsiniz. PostgreSQL’i bir kapsayıcıda dağıtmak, altyapı açısından uygun maliyetlidir, aynı zamanda CI/CD geliştirmeyi destekler ve dağıtım ile uygulama yönetimini kolaylaştırır.
PostgreSQL dağıtımı hakkında daha fazla bilgi edinmek istiyorsanız, PostgreSQL’in Kubernetes üzerinde nasıl dağıtılacağı makalemizi okuduğunuzdan emin olun.
PostgreSQL’in yanı sıra Docker üzerinde MySQL ve MongoDB’yi de çalıştırabilirsiniz.