Docker පදනම් තේරුම් ගැනීම සම්පූර්ණ කරගත් පසු, නවකයින්ට ඉක්මනින් “container එකක් ඇරඹුමත් සමඟ මැරෙනවා” හෝ “රහස් පදයක් image එකේ තට්ටුවක පෙනෙයි” වගේ ගැටලු වැටෙයි.
ඉතා සරල Dockerfile එකක් තුල ENV DB_PASSWORD=super_secret_123 ලෙස රහස සෘජුව ඇතුළත් කරලා image එකක් ගොඩක් කළාම, docker history විධානයෙන් එම පදය පෙනෙනවා. මේක තට්ටුවකට අමුණා තබා ඇති “sticky note” වගේ; image එක රෙජිස්ට්රියට push කරලා pull කරන කවුරුත් docker history හෝ layer files විවෘත කරලා රහස කියවන්න පුළුවන්.
ඒ නිසා රහස් කළමනාකරණය තුල තට්ටු තුනක් තියෙනවා:
- Run‑time environment variables – container start වෙද්දි
docker run -e DB_PASSWORD=...ලෙස ලබා දීම. රහස image එකේ නොසිටින්නත්, shell history එකේ පෙන්වෙන්නත් අවදානමක්. - .env file – gitignore කරපු .env ගොනුවක් තුල රහස් තබා
docker run --env-file .envහෝ Docker‑Compose හිenv_fileභාවිතා කිරීම. ගොනුව commit නොකරන එක වැදගත්. - Secret manager – production වලට HashiCorp Vault, AWS Secrets Manager, Azure Key Vault වගේ සේවා භාවිතා කරලා රහස් encrypt කරලා, runtime එකේ API හරහා ලබා ගන්න.
Docker multi‑stage builds සහ live reload තාක්ෂණයන් සමඟ, අඩු build කාලයක්, ඉක්මන් iteration, සහ container restart නොකළත් code change ගත හැකිය. ඒත් රහස් කළමනාකරණය අමතක නොකළොත්, production එකේ අස්ථිරතාවක් හෝ data breach එකක් සිදු වීමට ඉඩ ඇත.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ තරුණ devs, startups, සහ IT සේවා සපයන්නන් Docker භාවිතයෙන් rapid deployment, CI/CD pipelines, සහ micro‑services architecture ගොඩනැගීමට ඉඩක් ලැබේ. නමුත් රහස් පරිච්ඡේදය සලකා නොබැලීම, දේශීය data protection නීති (PDPA) උල්ලංඝනයට හේතුවක් විය හැක. .env ගොනු gitignore කිරීම, Docker Compose හි env_file භාවිතා කිරීම, සහ cloud secret manager එකට මාරු වීම, ආරක්ෂාව වැඩි කර, ගනුදෙනුකරුවන්ගේ විශ්වාසය ගොඩනැගීමට උදව් කරයි. එමෙන්ම, multi‑stage builds මගින් build time අඩු කර, සීමිත resources ඇති local machines වලත් වේගවත් iteration කරන්න පුළුවන්.
අවසානයේ, Docker රහස් කළමනාකරණය ගැන හොඳම පුරුදු ඉගෙන ගතොත්, ඔබේ container එක දිගු කාලයක් සාර්ථකව ක්රියාත්මක වන අතර, ආරක්ෂාව, කාර්යක්ෂමතාව, සහ ව්යාපාරික විශ්වාසයත් එක්ක ඉදිරියට යා හැක.