ElaKiri Community
Downloads
Go Back   ElaKiri Community > General > Education
Reload this Page Docker Sinhalen
Reply
 
Thread Tools
(#1)
Old
Zllion's Avatar
Zllion Zllion is offline
Senior Member
Zllion is a jewel in the roughZllion is a jewel in the roughZllion is a jewel in the roughZllion is a jewel in the roughZllion is a jewel in the roughZllion is a jewel in the rough
 
Posts: 223
Join Date: Sep 2018
Docker Sinhalen - 12-14-2018, 09:59 AM

මම මේ දවස් වල Docker ඉගෙන ගන්නවා. මේ ගැන සිංහලෙන් ලියවුනු ලිපි අඩුයිනෙ . මේ තියෙන්නේ මට හම්බුනා ලිපියක්. මම එක මෙතන post කරනචා. කැමති
අයට ඉගෙන ගන්න පුලුවන්නෙ. තව මේ වගේ ලිපි තියෙනවා නම් මෙතන දාන්න .




සුභ දවසක් හැමෝටම. අද මම කතා කරන්න බලාපොරොත්තු වෙන්නේ Docker ගැන. මේ වෙනකොට software industry එකේ ගොඩක් ජනප්‍රිය technology එකක් තමයි Docker. අලුතෙන් industry එකට එන ඕනෙම කෙනෙකුට අවශ්‍ය වෙන platform එකක් කිව්වොත් හරියටම හරි. Docker ගැන articles, videos ගොඩක් තිබ්බත් සිංහලෙන් ලියවුන resources තියෙන්නේ හරිම අඩුවෙන්. ඒකයි මේ article එක සිංහලෙන් ලියන්න හිතුවේ. එහෙනං පටන්ගමු.

මොකක්ද ඇත්තටම Docker කියන්නේ?
Docker කියන්නේ දැනට ලෝකේ තියෙන ප්‍රධානම software container platform එක. එතකොට container එකක් කියන්නේ මොකක්ද?



Container එකක් කියන්නේ මොකක් හරි software එකක් run වෙන්න ඕනේ කරන codes, run-time, system tools, system libraries, settings වගේ හැමදේම එකතු කරපු image එකකට. උඩ diagram එකේ තියෙනවා වගේ අපේ project එකට ඕනේ කරන දේවල් එකතු කරලා අපිට වෙන වෙනම containers හදාගන්න පුළුවන්. ඒ වගේම මේ containers වල විශේෂත්වය තමයි මේවා ඔක්කොම isolated software environments වීම. ඒ කියන්නේ අපි එක container එකක use කරන දේවල් තවත් container එකකට visible නෑ.

මොකක්ද Docker use කරන එකේ වාසිය.
Docker වලින් විසඳන ප්‍රධානම ප්‍රශ්නේ තමයි “It worked on my machine”. ඔයාල මිට කලින් එක එක project කරලා ඇතිනේ. ඒවා කොහේ හරි production environment එකකට deploy කරන්න උත්සහ කරලා තියෙනවා නං මේ ප්‍රශ්නේ ගැන දන්නවා. ඔයාගේ machine එකේ හොදට run උන project එක server එකකට දැම්මට පස්සේ වැඩ කරන්නේ නෑ.



මෙහෙම වෙන්න විවිධ හේතු තියෙන්න පුළුවන්. මොන හේතුව තිබුනත් Docker use කරොත් කිසිම කරදරයක් නැතුව ඔයාගේ project එක foreign environment එකක deploy කරන්න පුළුවන්. තියෙන්න ඕනේ එකම දේ Docker Engine එක විතරයි.

උදාහරණයක් විදිහට අපි හිතමු ඔයාගේ project එක PHP, MySQL වලින් හදපු website එකක් කියලා. ඔයාට කරන්න තියෙන්නේ PHP image එකකුයි MySQL image එකකුයි docker hub එකෙන් pull කරගෙන ඔයාගේ code එකත් දාලා ඔයාගෙම Docker container එකක් හදාගන්න එක. ඊට පස්සේ ඔයාට ඒක run කරලා ඔයාගේ website එක up කරගන්න පුළුවන්. ඒ වගේම ඒක image එකක් විදිහට ආපහු docker hub එකට push කරලා ඔයාගේ production environment එකට pull කරගන්නත් පුළුවන්. එතකොට website එක කලින් විදිහටම එකෙත් run වෙනවා.

මේ වගේ සරල දේවල් වගේම ගොඩක් සංකීර්ණ වැඩත් Docker වලින් ලේසියෙන්ම කරගන්න පුළුවන්.

Docker vs. Virtual Machines?
ඔයාල virtual machines ගැන අහලා තියෙනවා නං හිතෙන්න පුළුවන් මේකත් VM එකක් වගේ නේද කියල. ඇත්තටම නැහැ. Containers සහ VM අතර වෙනස් කම් තියෙනවා.



මේ diagram එක බැලුවොත් පැහැදිලි වෙනවා containers සහ VMs අතර වෙනස. VM වලදී අපිට containers වල නැති OS level process isolation එකක් ලබා ගන්න පුළුවන්. හැබැයි හැම VM එකක් එක්කම guest OS එකේ බරත් දරන්න සිද්ධ වෙනවා. VM එකක් up වෙන්න සාමන්‍යයෙන් විනාඩි කිහිපයක් ගියත් Docker container එකක් තත්පර ගානක් ඇතුලත up කරගන්න පුළුවන්. මේකෙන් කියන්නේ නෑ containers කියන්නේ VM වලට ආපු competition එකක් කියලා. අපේ අවශතාවය අනුව VMද containerද use කරන්නේ කියලා අපි තීරණය කරන්න ඕනේ.

හරි. මන් හිතනවා දැන් ඔයාලට Docker ගැන basic idea එකක් තියෙනවා කියලා. මේක හොදටම තේරෙන්න නං Docker use කරලා බලන්නම වෙනවා. අදට මන් කියන්නන් කොහොමද Docker engine එක install කරගෙන example project එකක් run කරගන්නේ කියල. හැබැයි මම use කරන්නේ ubuntu. Windows සහ MacOS වල install කරන විදිහ ටිකක් වෙනස්. Official documentation එක බැලුවොත් ඒක එච්චර අමාරු වෙන්නේ නෑ. අනිත් Docker commands වෙනස් වෙන්නේ නෑ.

Install Docker on Ubuntu 16.04
මුලින්ම official Docker repository එකේ GPG key එක අපේ Ubuntu system එකට add කරගන්න ඕනේ. මේක නැත්තන් අපිට Docker download කරන්න බැරි වෙනවා. ඊළගට Docker repository එක add කරගන්න ඕනේ. ඒක add කරගත්තට පස්සේ අපේ package database එක update කරගත්තම Docker packages download කරන්න පුළුවන් වෙනවා. මන් මේ ටික එකටම දාල තියෙන්නේ ඔක්කොම එක පාර terminal එකට paste කරන්න පුළුවන් වෙන්න. (Ctrl + Shift + v)

Code:
# Add the GPG key for the official Docker repository to the system:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# Add the Docker repository to APT sources:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
# Update the package database with the Docker packages from the newly added repo:
sudo apt-get update
ඊළගට අපි check කරලා බලන්න ඕනේ Docker repository එක add උනාද කියල.

Code:
apt-cache policy docker-ce
මේ command එක ගැහුවම පහල තියෙන විදිහේ output එකක් එන්න ඕනේ. Version number එක වෙනස් වෙන්න පුළුවන්. හැබැයි candidate install location එක Docker repository වෙන්න ඕනේ. පහල Bold කරලා තියෙන line එක. මේක නැති උනොත් ඔයාට මුල ඉදලා ආපහු කරලා බලන්න වෙනවා.

Code:
Output of apt-cache policy docker-ce
docker-ce:
    Installed: (none)
    Candidate: 17.03.1~ce-0~ubuntu-xenial
    Version table:
       17.03.1~ce-0~ubuntu-xenial 500
       500 https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
       17.03.0~ce-0~ubuntu-xenial 500
       500 https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
ඒ ටික හරි නං Docker install කරන්න පුළුවන් පහල command එකෙන්.

Code:
sudo apt-get install -y docker-ce
ඊළගට මේ command එකෙන් පහල තියෙනවා වගේ output එකක් එනවා නං වැඩේ හරි.

Code:
sudo systemctl status docker
Code:
● docker.service - Docker Application Container Engine
 Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
 Active: active (running) since සෙ 2017-09-09 15:45:27 +0530; 20h ago
 Docs: https://docs.docker.com
 Main PID: 1159 (dockerd)
 Tasks: 46
 Memory: 72.0M
 CPU: 5min 34.947s
 CGroup: /system.slice/docker.service
 ├─1159 /usr/bin/dockerd -H fd://
 ├─1336 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 
 ├─1674 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 27018 -container-ip 172.17.0.2 -container
 └─1716 docker-containerd-shim 932345d26cafca4da97dfaacd1fa7a6c4e7cb4cb9a71af19400a1a15682da156 /var/run/docker
Static site on Docker

ඊළඟට අපි try කරමු example image එකක් run කරගන්න.

docker run -d dockersamples/static-site

මේ command එකෙන් වෙන්නේ docker demon එක static-site කියන image එක docker-hub එකෙන් pull කරගෙන container එකක් විදිහට ඔයාගේ machine එකේ run කරන එක.-d කිව්වේ detached mode එකෙන් run කරන්න කියලා. ඔය පහල command එක ගැහුවොත් බලාගන්න පුළුවන් අපි run කරපු container එකේ විස්තර.

Code:
docker ps


දැන් එතකොට කොහොමද මේ site එක access කරන්නේ? මොකක්ද port එක? ඒවා කරන්න මේ පොඩි command එකෙන් බෑ. ඉස්සෙල්ලා අපි මේ හැදිච්ච container එක අයින් කරලා ඉමු.

Code:
docker stop ecstatic_nobel
docker rm ecstatic_nobel
ecstatic_nobel කියන්නේ docker demon මේ container එකට දුන්න random name එක. ඔයාගේ container name එක තමයි මෙතන එන්න ඕනේ. ඊළගට පහල command එක run කරන්න.

Code:
docker run --name static-site -e AUTHOR="Your Name" -d -P dockersamples/static-site
මේ command එකෙන් කලින් වගේම static-site container එකක් run වෙනවා. හැබැයි කලින්ට වඩා දේවල් ටිකක් වෙනවා.

–name – කලින් පාර ලැබුන random name එක වෙනුවට අපි නමක් දෙනවා.
-P – container එකේ ports ඔක්කොම host එකේ random ports වලට assign කරනවා.
-e – මේ විදිහට තමයි container එකට environment variables pass කරන්නේ.
AUTHOR – අපි pass කරන variable එක. මෙතන your name කියන තැන ඔයාගේ නම දාන්න.
කලින් වතාවේ image එක download කරගත්තට මේ වතාවේ එහෙම උනේ නෑ නේද? image එකක් එක පාරක් download කරගත්තට පස්සේ ආපහු pull කරගන්න ඕනේ නෑ. Docker demon මුලින් අපේ machine එකේ image එක තියෙනවද කියලා බලලා තමයි pull කරගන්නේ.

ඊළගට අපේ container එකට assign උන ports ටික බලාගන්න පුළුවන් පහල command එකෙන්.

Code:
docker port static-site


අපේ static website එක බලාගන්න කරන්න තියෙන්නේ ඔයාගේ browser එකෙන් 80/tcp එකට අදාළ address එකට යන එක විතරයි.



Docker වලින් අපිට එක command එකකින් website එකක් run කරන්න පුළුවන්.

මං හිතනවා දැන් ඔයාලට Docker ගැන idea එකක් එන්න ඇති කියල. ඉස්සරහට තවත් docker ගැන කතා කරන්න බලාපොරොත්තුවක් තියෙනවා. එහෙම post එකකින් නැවත හමු වෙමු. එතකං ජය!


source :https://everything1know.wordpress.co...6%B1%E0%B7%8A/
Reply With Quote
(#2)
Old
Bart_Allen's Avatar
Bart_Allen Bart_Allen is offline
Senior Member
Bart_Allen is a glorious beacon of lightBart_Allen is a glorious beacon of lightBart_Allen is a glorious beacon of lightBart_Allen is a glorious beacon of lightBart_Allen is a glorious beacon of lightBart_Allen is a glorious beacon of lightBart_Allen is a glorious beacon of lightBart_Allen is a glorious beacon of lightBart_Allen is a glorious beacon of lightBart_Allen is a glorious beacon of lightBart_Allen is a glorious beacon of light
 
Posts: 1,535
Join Date: Jan 2018
Location: Speed force
12-14-2018, 10:20 AM

Bump
Reply With Quote
(#3)
Old
NK123's Avatar
NK123 NK123 is online now
Senior Member
NK123 has much to be proud ofNK123 has much to be proud ofNK123 has much to be proud ofNK123 has much to be proud ofNK123 has much to be proud ofNK123 has much to be proud ofNK123 has much to be proud ofNK123 has much to be proud ofNK123 has much to be proud ofNK123 has much to be proud ofNK123 has much to be proud of
 
Posts: 23,668
Join Date: Jul 2015
Location: Colombo
12-14-2018, 11:06 AM

TFS+17
Reply With Quote
(#4)
Old
Zllion's Avatar
Zllion Zllion is offline
Senior Member
Zllion is a jewel in the roughZllion is a jewel in the roughZllion is a jewel in the roughZllion is a jewel in the roughZllion is a jewel in the roughZllion is a jewel in the rough
 
Posts: 223
Join Date: Sep 2018
12-14-2018, 11:07 AM

එළකිරි එකේ අය්යා කෙනකේ දාපු පොස්ට් ටිකකුත් හම්බුනා.

http://www.elakiri.com/forum/showthread.php?t=1804978
http://www.elakiri.com/forum/showthread.php?t=1805382
http://www.elakiri.com/forum/showthread.php?t=1805886
Reply With Quote
(#5)
Old
windows_ubuntu's Avatar
windows_ubuntu windows_ubuntu is offline
Senior Member
windows_ubuntu is a glorious beacon of lightwindows_ubuntu is a glorious beacon of lightwindows_ubuntu is a glorious beacon of lightwindows_ubuntu is a glorious beacon of lightwindows_ubuntu is a glorious beacon of lightwindows_ubuntu is a glorious beacon of lightwindows_ubuntu is a glorious beacon of lightwindows_ubuntu is a glorious beacon of lightwindows_ubuntu is a glorious beacon of lightwindows_ubuntu is a glorious beacon of lightwindows_ubuntu is a glorious beacon of light
 
Posts: 1,237
Join Date: Jun 2018
12-14-2018, 11:16 AM

TFS
Reply With Quote
(#6)
Old
Mr UNKNOWN's Avatar
Mr UNKNOWN Mr UNKNOWN is offline
Senior Member
Mr UNKNOWN is a name known to allMr UNKNOWN is a name known to allMr UNKNOWN is a name known to allMr UNKNOWN is a name known to allMr UNKNOWN is a name known to allMr UNKNOWN is a name known to allMr UNKNOWN is a name known to allMr UNKNOWN is a name known to allMr UNKNOWN is a name known to allMr UNKNOWN is a name known to allMr UNKNOWN is a name known to all
 
Posts: 4,006
Join Date: Jun 2016
12-14-2018, 11:17 AM

Rep ++
Reply With Quote
(#7)
Old
coolmanaram's Avatar
coolmanaram coolmanaram is offline
Senior Member
coolmanaram is a glorious beacon of lightcoolmanaram is a glorious beacon of lightcoolmanaram is a glorious beacon of lightcoolmanaram is a glorious beacon of lightcoolmanaram is a glorious beacon of lightcoolmanaram is a glorious beacon of lightcoolmanaram is a glorious beacon of lightcoolmanaram is a glorious beacon of lightcoolmanaram is a glorious beacon of lightcoolmanaram is a glorious beacon of lightcoolmanaram is a glorious beacon of light
 
Posts: 1,946
Join Date: Jun 2011
Location: Fridge එකේ CooL
Up 12-14-2018, 11:19 AM

ela
Reply With Quote
(#8)
Old
turbo121 turbo121 is offline
Senior Member
turbo121 is on a distinguished road
 
Posts: 320
Join Date: Apr 2016
12-14-2018, 11:23 AM

wooow.patta. keep it up.
Reply With Quote
(#9)
Old
nethumshan's Avatar
nethumshan nethumshan is offline
Senior Member
nethumshan is a jewel in the roughnethumshan is a jewel in the roughnethumshan is a jewel in the roughnethumshan is a jewel in the roughnethumshan is a jewel in the roughnethumshan is a jewel in the rough
 
Posts: 831
Join Date: May 2017
12-14-2018, 11:55 AM

bump
Reply With Quote
(#10)
Old
Indika Buddika's Avatar
Indika Buddika Indika Buddika is offline
Senior Member
Indika Buddika is a glorious beacon of lightIndika Buddika is a glorious beacon of lightIndika Buddika is a glorious beacon of lightIndika Buddika is a glorious beacon of lightIndika Buddika is a glorious beacon of lightIndika Buddika is a glorious beacon of lightIndika Buddika is a glorious beacon of lightIndika Buddika is a glorious beacon of lightIndika Buddika is a glorious beacon of lightIndika Buddika is a glorious beacon of lightIndika Buddika is a glorious beacon of light
 
Posts: 4,492
Join Date: Jul 2016
12-14-2018, 11:59 AM

Nice Work bro.
+REP
Reply With Quote
Reply

Bookmarks

Tags
devops, docker

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



Copyright © 2006 - 2011 ElaKiri™ Beta2.Evo vBulletin, vBa iBproArcade Subdreamer I-Magic MKv

Page generated in 0.03938 seconds with 9 queries