Docker භාවිතයෙන් PostgreSQL ස්ථාපනය කිරීම, බහු ව්යාපෘති වල වෙනස් සංස්කරණ, එකතු කිරීම්, හෝ දත්ත ආරම්භක තොරතුරු අවශ්යතා පාලනය කිරීමේ ගැටලුවට සරල විසඳුමක්. Docker මගින් ඔබේ පරිගණකය අනිවාර්යයෙන්ම පිරිසිදුව, ව්යාපෘතියකට අදාළ PostgreSQL උදාහරණයක් ඉක්මනින් සකස් කරගත හැක.
Docker තුල PostgreSQL එකක් ක්රියාත්මක කිරීමේ ඉක්මන් ක්රමය
පළමුව terminal එකේ පහත කමාන්ඩ් එක ඇතුළත් කරන්න:
- docker run --name my-postgres \
- -e POSTGRES_PASSWORD=secret \
- -e POSTGRES_USER=devuser \
- -e POSTGRES_DB=myapp \
- -p 5432:5432 \
- -d postgres:16
මෙම කමාන්ඩ් එකෙන් "my-postgres" නමින් කන්ටේනරයක් සකස් කර, 5432 පෝට් එක ඔබේ පරිගණකයට මැප් කර, PostgreSQL 16 සංස්කරණය භාවිතා කරයි. ඊළඟට docker ps මගින් කන්ටේනරය ක්රියාත්මක බව තහවුරු කර, docker exec -it my-postgres psql -U devuser -d myapp මගින් psql සම්බන්ධතාවයක් ලබා ගත හැක.
Docker‑Compose සමඟ ස්ථායී ව්යාපෘතියක් සැකසීම
විස්තරාත්මක ව්යාපෘතියක් සඳහා docker-compose.yml ගොනුවක් හදාගත යුතුය. මෙය සංස්කරණය කළ හැකි, Git තුළ version‑control කළ හැකි, සහ ඉදිරියේ Redis, pgAdmin වැනි වෙනත් සේවාවන් එක් කිරීම සරල කරයි.
services:
db:
image: postgres:16
container_name: myapp-postgres
restart: unless-stopped
environment:
POSTGRES_USER: devuser
POSTGRES_PASSWORD: secret
POSTGRES_DB: myapp
ports:
- "5432:5432"
volumes:
- pgdata:/var/lib/postgresql/data
volumes:
pgdata:
ඇතුළත් කිරීමෙන් පසු docker compose up -d මගින් පසුබිමට ක්රියාත්මක කර, docker compose down මගින් නතර කළ හැක. -v විකල්පය එක් කළහොත් වොලියුම පූර්ණයෙන්ම මකා දමයි.
වොලියුම් (Volumes) මත අවධානය
Docker කන්ටේනරයක් මකා දැමුවහොත්, එහි ඇතුළත ඇති දත්ත පවා අහිමි වේ. නමුත් නාමිත වොලියුම (pgdata) භාවිතා කරනවාමෙන්, PostgreSQL දත්ත ගොනු Docker‑managed volume එකක සුරක්ෂිතව රඳා පවතින අතර, කන්ටේනරය නැවත ඇරඹූ පසුත් ඒවා නැවත භාවිතා කළ හැක.
ආරම්භක දත්ත (Seeding) එක් කිරීම
Docker රූපයේ නිල Dockerfile එක /docker-entrypoint-initdb.d/ ෆෝල්ඩරයට දමන .sql හෝ .sh ගොනු පළමු වරට වොලියුම හිස් වූ විට ක්රියාත්මක කරයි. ./init/001-schema.sql වැනි ගොනුවක් තබා CREATE TABLE, INSERT ආදිය කරලා, පළමු වරට කන්ටේනරය ඇරඹූ විට ස්වයංක්රියව ඩේටා ආයාත වේ. පසුගිය වොලියුමට දත්ත තිබේ නම්, නැවත seed කිරීමට docker compose down -v කල යුතුය.
සෞඛ්ය පරීක්ෂණ (Health Checks) සමඟ සේවාවන් සම්බන්ධ කිරීම
ඔබේ යෙදුම Docker‑Compose එකේ වෙනත් සේවාවක් ලෙස ඇතුළත් කරන්නේ නම්, PostgreSQL සූදානම් වීමට පෙර එය ආරම්භ නොවීමට healthcheck එකක් සකස් කළ හැක. pg_isready -U devuser -d myapp කමාන්ඩ් එක 5 තත්පරයකින් පරීක්ෂා කර, සාර්ථක නම් පමණක් අනෙක් සේවාවන් ආරම්භ වේ.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ විශ්වවිද්යාල සිසුන්, ස්වයංඥානයේ (freelance) සංවර්ධකයින්, හා තාක්ෂණික ආයතන සඳහා Docker‑PostgreSQL ක්රමය අතිශය ප්රයෝජනවත්. පළමු පියවරක් ලෙස, එකම පරිසරයක බහු ව්යාපෘති පවත්වා ගැනීමේ ගැටලුව නිරාකරණය වේ. වොලියුම් භාවිතයෙන් දත්ත පාරිභෝගික ගබඩා කිරීම, ආරම්භක seed data මගින් දත්ත මොකක්දැයි ඉක්මනින් පරීක්ෂා කළ හැක. ඒ නිසා පරිසර සැකසීමේ කාලය ගණනාවකට අඩු වේ, ඉගෙනීමේ වේගය වැඩිවේ, සහ දේශීය සොෆ්ට්වෙයාර් සමාගම්ට CI/CD පයිප්ලයින් වල Docker‑Compose එකක් එකතු කරමින් ඉතා සරල DevOps ක්රමයක් ගොඩනැගිය හැක.
Docker සහ PostgreSQL එකට එකතු කිරීම, දේශීය තාක්ෂණික ප්රජාවට නව අත්දැකීම්, වේගවත් පරීක්ෂණ, සහ පිරිවැය අඩු කිරීමේ අවස්ථා ලබා දේ. ඔබේ ඊළඟ ව්යාපෘතියේ පසුබිම Docker‑PostgreSQL සමඟ සකස් කර, කාලයත් සම්පත්ත් සුරකින්න.