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
:
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:
$ 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:
$ 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
:
$ 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:
# 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:
postgres=# create table test(id int, name varchar(10));
CREATE TABLE
postgres=# insert into test(id, name) values (1,'john');
INSERT 0 1
postgres=# select * from test;
id | name
----+------
1 | john
(1 row)
Pembersihan
Setelah selesai dengan operasi Anda, disarankan untuk mengakhiri koneksi PostgreSQL:
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:
# 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:
$ docker compose down
[+] Running 2/2
⠿ Container postgres Removed 2.8s
⠿ Network my_proj_default Removed