Traffine I/O

Bahasa Indonesia

2023-04-07

Membangun Lingkungan PostgreSQL dengan Docker

Membangun Lingkungan PostgreSQL dengan Docker

Artikel ini akan memandu Anda melalui proses membuat lingkungan PostgreSQL menggunakan Docker. PostgreSQL adalah salah satu sistem manajemen database relasional open-source yang paling populer. Dengan menggunakan Docker, kita dapat dengan cepat mengatur server PostgreSQL untuk pengembangan atau tujuan pengujian tanpa perlu melalui proses panjang instalasi dan konfigurasi manual server PostgreSQL di sistem operasi host.

Mengatur docker-compose.yml

Untuk membuat kontainer server PostgreSQL, pertama kita akan membuat file docker-compose.yml. File ini akan berisi konfigurasi yang diperlukan untuk mengambil citra PostgreSQL dari Docker Hub, membuat kontainer PostgreSQL baru, dan mengatur variabel lingkungan yang diperlukan.

Berikut adalah isi file docker-compose.yml:

docker-compose.yml
version: '3'

services:
  db:
    image: postgres:14
    container_name: postgres
    ports:
      - 5432:5432
    volumes:
      - db-store:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=postgres
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=passw0rd
volumes:
  db-store:

Starting PostgreSQL Container

Setelah file docker-compose.yml telah diatur, kita dapat memulai kontainer server PostgreSQL. Docker Compose memungkinkan kita mengelola layanan aplikasi kita dengan hanya satu perintah. Di terminal, navigasikan ke direktori tempat file docker-compose.yml Anda berada, lalu jalankan perintah berikut:

bash
$ docker compose up -d

Untuk memastikan bahwa kontainer server PostgreSQL kita berjalan, kita dapat menggunakan perintah docker ps. Perintah ini akan menampilkan daftar semua kontainer Docker yang sedang berjalan. Berikut adalah perintah dan output yang diharapkan:

bash
$ docker ps

CONTAINER ID   IMAGE         COMMAND                  CREATED         STATUS         PORTS                    NAMES
da5beb67905a   postgres:14   "docker-entrypoint.s…"   9 minutes ago   Up 9 minutes   0.0.0.0:5432->5432/tcp   postgres

Setelah memastikan bahwa kontainer PostgreSQL berjalan, Anda dapat mengakses shell kontainer PostgreSQL dengan menggunakan perintah docker exec:

bash
$ docker exec -it postgres /bin/sh

#

Sekarang, setelah kita berada di dalam kontainer PostgreSQL, kita dapat terhubung ke server PostgreSQL menggunakan CLI klien PostgreSQL. Untuk terhubung sebagai pengguna root, gunakan perintah berikut:

bash
# psql -h localhost -U postgres

psql (14.8 (Debian 14.8-1.pgdg120+1))
Type "help" for help.
postgres=#

Mengoperasikan PostgreSQL

Setelah terhubung ke server PostgreSQL, Anda sekarang dapat melakukan berbagai operasi database seperti membuat tabel, memasukkan data, dan mengambil data. Berikut contoh pembuatan tabel, memasukkan data ke dalamnya, dan kemudian mengambil data tersebut:

bash
postgres=# create table test(id int, name varchar(10));

CREATE TABLE
bash
postgres=# insert into test(id, name) values (1,'john');

INSERT 0 1
bash
postgres=# select * from test;

 id | name
----+------
  1 | john
(1 row)

Pembersihan

Setelah selesai dengan operasi Anda, disarankan untuk mengakhiri koneksi PostgreSQL:

bash
postgres=# exit

#

Perintah ini akan logout dari server PostgreSQL.

Setelah keluar dari koneksi PostgreSQL, Anda akan kembali ke shell kontainer Docker. Anda juga dapat keluar dari kontainer Docker:

bash
# exit

Untuk memastikan tidak ada resource yang tidak perlu dikonsumsi, sebaiknya menghentikan dan menghapus kontainer Docker setelah selesai menggunakannya. Gunakan perintah berikut untuk menghentikan dan menghapus kontainer Docker:

bash
$ docker compose down

[+] Running 2/2
 ⠿ Container postgres         Removed                    2.8s
 ⠿ Network my_proj_default    Removed

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!