02. Docker - Introduction

Docker -Introduction 




Developer යම් application එකක් develop කරනවයි සිතන්න.එය ඔහුගේ machine එකේ හෙවත් development environment එකේ properly වැඩ කරනවා.නමුත් එම application එක වෙනත් environment එකකට දැම්මම (වෙනත් machine එකකට, වෙනත් server එකකට වගේ - Example: Test Environment, live Environment) හරියට වැඩ කරන්නේ නැති වෙන්න පුළුවන්.එකට පහත සදහන් හේතු වගේ ඒවා බලපාන්න පුළුවන්,

  1. Developer used කල dependencies නෙවෙයි අනෙත් environment වල තියෙනේ වෙන්න පුළුවන්.
  2. Environment එකන් environment එකට libraries වල versions වෙනස් වෙන්න පුළුවන්.
  3. Developer ගේ OS එක නෙවෙයි අනෙත් environment වල තියෙන්නේ වෙන්න පුළුවන්.එම නිසා developer ගේ OS එකට support කරන dependencies අනෙත් OS වලට support නැති වෙන්න පුළුවන්.
  4. developer එම application එකට අදාලව OS level යම් යම් configuration ටිකක් කළා වෙන්න පුළුවන් එහෙමත් නැත්තම් එම application එකට run වෙන්න අදාළ වෙන OS level configuration ටිකක් කලින් project එකකටත් ඕනේ වෙලා කළා, නමුත් මේ project එකට ඒවා අලුතෙන් කරන්න ඕනේ නැති නිසා developer දාන්නෙත් නැ ඒ වගේ configuration ටිකක් කරන්න ඕනේ මේ application එක run වෙන්න කියලා.නමුත් මෙම application එක වෙනත් environment එකකට දැම්මම එම configuration ටික නැති නිසා ඒ environment එකේ එම application එක run වෙන්න නැ.

ඔන්න ඔය වගේ එක එක ප්‍රශ්න නිසා එක environment එකක් වැඩ කරන application එකක් වෙනත් environment එක්ක වැඩ නොකරන්න පුළුවන්.මෙයට විසදුමක් වශයෙන් application එකට අදාළ සියලුම dependencies ,OS level configuration වගේ ඒවා application එකත් එක්ක pack කරලා single unit එකක් විදිහට අනෙත් environment වලට දෙන්න පුලුවන්නම් සහ එම single unit එක එම environment එක තුල run කරගන්නද පුලුවන්නම් ඉහත problems විසදෙනවා. එක හරියට අපිට virtual machine එකක් උඩ different different OS run කරගන්න පුළුවන්නේ.ඒ වගේම එක virtual machine  එකක් උඩ දුවන OS එකක image එක අරන් වෙනත් machine  එකක් තියන virtual machine  එකකට  දැම්මත් කලින් machine එකේම වගේම වැඩ කරනවා.එනම් කලින් machine එකේ virtual machine එකේ run වුන OS එකේ සියලුවම් features අලුත් machine එකේ virtual machine එකට දැම්ම image එකෙන් ඒ වගේම ලැබෙනවා(install කරලා තිබ්බ software ,OS level එකට කරපු configuration වගේ සියලුම ඒවා).

මෙම වැඩේ කරගන්න Hypervisor, Docker වගේ technologies use කරන්න පුළුවන්. Hypervisor වලදිනම් වෙන්නේ application එක develop කරන OS එකේ image එකක්ම අරන් වෙනත් machine එකකට hypervisor එක උඩ run කරවීම වන අතර docker වැනි technologies වලදී වනුයේ application එක අඩංගු container image එකක් අරන් එකෙන් controller එකක් හදලා ඒක container runtime environment එකක් එක උඩ run කරවීමයි.

Controller, Docker vs Hypervisor next lesions වලදී විස්තර කර ඇත.


Comments

Popular posts from this blog

02. Spring – Creating spring project clone it with GIT step by step.

02.What is MicroService?

06.Mongo DB - Query part 2 (Aggregation)