Lanka Developers Community

    Lanka Developers

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Shop
    1. Home
    2. isuru mahesh perera
    • Profile
    • Following 0
    • Followers 4
    • Topics 3
    • Posts 28
    • Best 14
    • Controversial 0
    • Groups 0

    isuru mahesh perera

    @isuru mahesh perera

    28
    Reputation
    282
    Profile views
    28
    Posts
    4
    Followers
    0
    Following
    Joined Last Online

    isuru mahesh perera Unfollow Follow

    Best posts made by isuru mahesh perera

    • Docker ගැන සිංහලෙන් - part 01

      docker,
      docker කියන්නේ , ඔයාගේ entire software එක package කරලා easily deploy කරන්න පුළුවන් solution එකක්.

      අපි locally development කරද්දී හොදට වැඩ කරන app එක, server එකට දැම්මට පස්සේ ඒක වැඩ කරන්නේ නැතිව යනවා. එතොකොට එක fix කරන්න අපිට ටිකක් වෙලා යනවා. එකට ගොඩක් හේතුව වෙන්නේ, අපෙ local environment එකයි server environment එකයි වෙනස් නිසා.

      හැබැයි අපිට පුළුවන් docker use කරලා මේ problem එක solve කරන්න. එකට හේතුව locally docker ඇතුලේ app එක වැඩ කරනවනම්, docker run වෙන ඕන server එකක අපේ app එක වැඩ.

      how docker works,
      docker කියන්නේ containerization platform එකක්.
      containerization එක්ක ලගින්ම යන අනිත් එක තමා virtualization කියන්නේ. අපි බලමු මොකක්ද මේ දෙකේ වෙනස කියල.

      alt text

      virtualization (2nd image ) කියන්නේ සරලව, host os එක උඩ hypervisor software එකක් run කරලා, එක uda virutal machines හදාගන්න එක.
      එතොකොට ඒ හැම virtual machine ekak ඇතුලේම entire os එකක් run වෙනවා.
      ex - virtual box කියන්නේ open source hyperviosr එකක්. අපිට windows os එකක් උඩ linux install කරන්න පුලූවන් dual boot කරන්නේ නැතුව.

      එතකොට docker engine එක වැඩ කරන්නේ ?,
      අපේ host os එක උඩ docker engine එක run කරනවා, ඊට පස්සේ docker වලට පුළුවන් isolated process හදන්න්න. මේ අපි හදන එක process එකකට කියනවා container එකක් කියල. ඇත්තටම container එකක තියෙන්නේ මොකක් හරි එක process එකක්. ex: apache server, mysql server..
      එක lightweight, අනිත් process එක්ක isolated, ඒ වගේම host OS එකේ kernel එක තමා මෙ හැම container එකක්ම share කරගන්නේ.

      ඒ වගේම virtual machine එකකට වඩා fast. එකට හේතුව virtual machine එකක් restart කරනවා කියන්නේ entire OS එකම restart වෙනවා කියන එක. හැබැයි container එකක් restart වෙනව කියන්නේ, දැනටමත් run වෙන host OS එකේ process එකක් restart වෙනවා කියන එක විතරයි.

      basic terms of docker

      container - isolated process එකක් (මොකක් හරි එක task එකක් , etc mysql server, nginx server )

      image - container එකක් run කරන්න ඕන application library, system tools, configuration files වල එකතුවක්. ඒවගේම අපිට මේ එක image එකකින් multiple containers හදාගන්න පුළුවන්.

      dockerfile - docker image එකක් create කරන්න ඕන instructions තමා අපි මේකේ ලියන්නේ. ex - environment variables, port mapping, මොන toolsද install වෙන්න ඕන කියල මේ file එකේ ලියන්න පුළුවන්.

      docker registry - docker image එක store කරන්න පුළුවන් place එකක්.
      ex: අපි git එක්ක github වගේ remote reporsitory එකක් තියාගන්නවා වගේ වැඩක්.

      • docker hub - මේක docker ලගේ official images store කරන්න තියන registry එකක්. free වගේම paid version එකක් තියනව.
      • aws ecr - aws lage paid solution එකක් docker images store කරන්න තියෙන
        .

      හරි දැන් අපි docker වලින් container එකක් හදල බලමු,

      මුලින් ඔය docker install කරගන්න ඔයාගේ os එක අනුව.
      https://docs.docker.com/get-docker/

      check docker installed, then it will show the help menu

      docker
      

      pull mysql docker image from docker hub

      docker pull mysql:5.7
      

      view downloaded docker images

      docker images
      REPOSITORY                                                        TAG                 IMAGE ID            CREATED             SIZE
      mysql                                                             5.7                 a4fdfd462add        5 days ago          448MB
      

      create a docker container from docker image

      docker run --name my_db -p 9000:3306 -e MYSQL_ROOT_PASSWORD=123 -d mysql:5.7
      

      --name used for container name (අපිට කැමති නමක් දෙන්න පුළුවන් )
      -e used for environment variables
      -i or -d used for running mode,
      container එකක් run වෙන විදී දෙකක් තියනව.

      • -i ඔයාට container එකේ input outputs shell එකෙන් බලාගන්න පුළුවන්. ඔය ඒ shell එක close කරෝතින් container එක stop වෙනවා
      • -d container එක run වෙන්නේ background process එකක් විදිහට.

      -p used for port mapping,
      අපි මුලින් කිවා container එකක් කියන්නේ process එකක් කියල, එකියන්නේ සරලව container එක මොකක්හරි port එකක run වෙනව කියන එකයි . mysql ගත්තොත් එයා default port number 3306 එකේ run වෙනවා.

      එකියන්නේ container eka athule අපේ mysql server එක port 3306 run wenawa. හැබැයි අපිට තාම අපේ host OS එකේ idan container එකට connect wenna බැහැ. මොකද host os එක මේ process eka ගැන දන්නේ නැති නිසා.

      එනිසා අපිට සිද්ද වෙනවා container port එක ape host OS එකේ port එකකට map කරන්න. මං මේකේ 3306 කියන container eke run වෙන port එක 9000 kiyana host OS එකේ port එකකට map karala තියෙන්නේ.

      check running containers

      docker ps
      CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
      3788c9366954        mysql:5.7           "docker-entrypoint.s…"   2 minutes ago       Up About a minute   33060/tcp, 0.0.0.0:9000->3306/tcp   my_db
      
      

      now you can connect to the running container

      mysql -h 127.0.0.1 -P 9000 -uroot -p123
      
      mysql: [Warning] Using a password on the command line interface can be insecure.
      Welcome to the MySQL monitor.  Commands end with ; or \g.
      Your MySQL connection id is 12
      Server version: 5.7.30 MySQL Community Server (GPL)
      
      Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
      
      Oracle is a registered trademark of Oracle Corporation and/or its
      affiliates. Other names may be trademarks of their respective
      owners.
      
      Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
      
      mysql> 
      
      

      to stop running container,

      docker ps # list running containers
      CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
      d3d87881b0ce        mysql:5.7           "docker-entrypoint.s…"   About an hour ago   Up About an hour    33060/tcp, 0.0.0.0:9000->3306/tcp   my_db
      
      docker stop d3d87881b0ce # cotaniner id
      
      

      get all containers (running or stopped)

      docker ps -a
      CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS                      PORTS                                                                              NAMES
      3788c9366954        mysql:5.7                    "docker-entrypoint.s…"   5 minutes ago       Up 11 seconds               33060/tcp, 0.0.0.0:9000->3306/tcp                                                  my_db
      c9142a5d1251        char:latest                  "/bin/bash ./run.sh"     8 days ago          Exited (1) 8 days ago                                                                                          pensive_shtern
      8266e6f237e2        5c8c4e171da6                 "/bin/bash ./run.sh"     8 days ago          Exited (1) 8 days ago       
      

      මේක docker වල basic overview එකක් විතරයි. තව ගොඩක් concepts තියනවා ඉගෙන ගන්න. මං ඒවත් ඉස්සරහට දාන්නම්.

      posted in Back-End Development
      isuru mahesh perera
      isuru mahesh perera
    • Django Series part 01 සිංහලෙන්

      What is Django ?

      django කියන්නේ python language එක base කරන් හදපු framework එකක්.

      then What is framework ?

      application එකක් build කරන්න ඕන කරන tools වල එකතුවක් කිසියම් standard එකක් එක්ක. එකියන්නේ authentication & authorization , form validation, database mapping, security වගේ තව ගොඩක් දේවල් වල එකතුවක්.
      තව framework එකක ඒගොල්ලොන්ට අදාලව වෙනම rules තියනව... අපිට එතොකොට e rules follow කරන්න සිද්දවෙනවා

      හරි එහනම්, Django පටන් ගන්න කලින් මේ post එකෙන් python basics ටික cover කරන්නම්.. එතොකොට එක python වලට aluth එක්කෙනේක්ටත් උදව්වක් වෙයි...

      Python Introduction

      Python is one of the high-level, support multiple programming paradigms, interpreted and general-purpose programming language that is easy to use.

      python කියන්නේ general purpose language එකක් නිසා ඔයාට ගොඩක් දේවල් වලට use karanna puluwan .

      • Web Development
      • Machine learning
      • Data Science
      • Robotics
      • Scripting

      මම දකින විදිහට python කියන්නේ දැනට තියන ලස්සනම, එවගෙම් ගොඩක් strong, programming language එකක් :wink:

      හරි එහෙනම් මුලින්ම python install karaganna download

      Variables
      data store කරන්න පුළුවන් Tempory memory allocation unit ekak

      # string
      name = "john"
      
      # numbers
      age = 22
      
      # boolean
      hasError = True 
      
      # in python world everything is an object
      type(name) 
      <class 'str'>
      
      

      Control Flow
      කිසියම් condition එකක් මත අපේ program එක run වෙන්න ඕනෙනම් අපි if / else use කරනවා

      python වල code block වල (loop , ifelse , function ) scope eka (සරලව කිවොත් area එක) අපි define කරන්නේ indentation walin.
      අපි indentation වලට spaces 4ක් use කරනවා...

      # single condition
      
      condition = True
      
      if condition:
         print('condition is true this will execute')
      
      else:
        print('condition is false this will execute')
      
      # multiple condition
      if condition:
        pass
      elif condition:
        pass
      else:
        pass
      
      

      Ternary Operator
      මේ operatior එකෙන් condition statement single line ලියන්න පුළුවන්
      [If True] if [Expression] Else [If False]

      name = "john"
      hasJohn = True if name == "john" else False
      

      Collections
      LIST,
      multiple values store කරන්න පුළුවන් data structure(layout ) එකක්
      mutable (update-able) - එකියන්නේ list එකේ store කරපු values change කරන්න පුළුවන්

      alt text

      # js wala array ekak wage
      # list eka index eka patan ganne 0 walin
      
      names = ['john', 'max', 'kevin']
      
      names[0]
      # john
      
      names[1] = "ann"
      
      names
      # ["john", "ann", "kevin"]
      
      

      Tuple
      constant list එකක් එකියන්නේ change karanna bari list එකක් ()

      names = ('john', 'kevin')
      names[1] = "max"
      
      Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
      TypeError: 'tuple' object does not support item assignment
      
      

      Dictionaries

      key value pair එකක්...
      mutable datastructure ekak
      js වල object එකක් වගේ. php වලනම් assosiative array එකක් වගේ

      person = {
         'name': 'max',
         'age': 23
      }
      
      person['name']
      # max
      
      

      Loop
      අපිට මොකක් හරි task එකක් repeatedly කරන්න ඕනනම් අපි loop use කරනවා..
      condition eka false wenakan loop eke body eka execute wenawa..
      loop එකක structure එක තමා පල්ලහ දාල තියෙන්නේ

      alt text

      # while loop
      
      number = 1
      
      while number < 6:
        
        print(number)
        number += 1         # 1, 2, 3, 4, 5
      
      # for loop
      
      numbers = [10, 20, 30, 40]
      
      for n in numbers:
        print(n)            # 10, 20, 30, 40
      
      # single line
      
      person = {
         'name': 'max',
         'age': 23
      }
      
      # items() method used to return list with all keys and values
      # [ ['name', 23], ['age', 23] ]
      
      for key, value in person.items():
         print(key)        # name , age
         print(value)      # max , 23
      
      

      Functions

      A function is a block of code which only runs when it is called.

      input - pass data (arguments)
      process - function body
      output - return data from the function

      alt text

      
      # python wala function ekak define karanna 'def' keyword eken
                     
      def sum(num1, num2):
             
        result = num1 + num2
        return result 
      
       sum(10, 20)   # 30
      
      python keyword arguments support
      sum kiyana function eka mehema call karanna puluwan
      sum( num1= 10, num2=20)
      
      python *args & **kwargs (js wala rest operator eka wage)
      
      *args  operator - function eka call karaddi pass karana arguments array ekakata convert karanna puluwan
      
      def sum(*args):
         print(args) # [10, 20, 30]
      
      sum(10, 20, 30)
      
      **kwargs operator - function eka call karaddi pass karana keyword arguments dicitonary ekakata convert karanna puluwan
      
      def sum(**kwargs):
         print(kwargs) #  { 'first': 10, 'second': 20}
      
      sum(first=10, second=20)
      
      

      scope

      සරලව බැලුවොත් scope එක කියන්නේ variable access කරන්න පුළුවන් area එක
      Python follow කරන්නේ LEGB RULE එක

      • Local(L) - Defined inside function/class
      • Enclosed(E) - Defined inside enclosing functions(Nested function concept)
      • Global(G) - Defined at the uppermost level
      • Built-in(B) - Reserved names in Python builtin modules

      local -> enclosed -> global -> builtin

      alt text

      # local
      
      name = "john"
      
      def sayName():
      
          name = "kevin"
          print(name)
      
      sayName()
      
      # methandi print wenne kevin kiyana local varibale eka... global varibale eka access karanna onanm "global" keyword eka use karanna wenawa (php wage)
      
      # global
      
      name = "kevin"
      
      def sayName():
      
          global name
          print(name)
      
      sayName()   # kevin kiyana global variable eka
      
      # enclosed
      
      name = "global name"
      
      def sayName():
          
          name = "outer name"
          print(name)   # global name eka access karanna onam variable eka issarahin **global**  keyword eka use karanna
      
          def innerName():
              
             name = "inner name"
             print(name)     # outer name eka access karanna onam variable eka issarahin **nonlocal** kiyana keyword eka use karanna ona
      
         innerName()
      
      sayName()
      
      # Built-in Scope 
      from math import floor 
      
      # floor = 'global pi variable' 
      
      def outer(): 
           
           # floor= 'outer floor' 
      	
           def inner(): 
      	# floor = 'inner floor variable' 
      	print(floor) 
      
           inner() 
      
      outer() 
      
      **LEGB RULE**
      1) floor eka inner function scope eke define karalada balanawa , thiynawanm eka gannawa
      2) nathnm outerscope eke define karalada balanawa, thiynwanm eka gannawa
      3) nathnm global eke define karalada balanawa, thiyanwanm eka gannawa
      4) nathnm built-in scope eke balanawa, nathnm error ekak throw karanwa "floor is not defined" 
      
      

      Guys meka simple overview එකක් විතරයි. ඔයා තව ගොඩක් දේවල් ඉගෙන ගන්න වෙනවා. මේ basics ටික තමා අපි django වල ගොඩක් වෙලාවට use කරන්නේ.python වල oop part එක මං දැම්මේ නැහැ මට අද time nathi නිසා. කට්ටිය කැමතිනම් කියන්න මං මේක ඉස්සරහට continue කරන්නම්

      posted in Web Development
      isuru mahesh perera
      isuru mahesh perera
    • RE: PHP Logic problem
      <?php
      $permissions = ['create_user', 'create_post','edit_post', 'delete_post', 'edit_user', 'delete_user'];
      $permission_categories = [];
      
      foreach ($permissions as $value) {
          
          $name = explode("_", $value);
      
          # hasn't key
          if(!array_key_exists($name[1], $permission_categories)){
              $permission_categories[$name[1]] = [];
          }
      
          $permission_categories[$name[1]][] = $name[0];
      }
      
      
      print_r($permission_categories);
      
      posted in Back-End Development
      isuru mahesh perera
      isuru mahesh perera
    • RE: PHP or Node.js

      mchn uba backend walata aluthnisa mulin php igenaganin, hethuwa ubata framework ekak igena ganna one na mulin, peo php use karala backend wala services wada karana widiha hodata igena ganna puluwan.... anith eka project eka live dana ekath beginner kenekta hari lesiyen php wala karanna puluwan...

      node igena ganna eka hodai... habai ubata kathandara godak igena ganna wei... ex node project ekak live dana ekath wenama kathandarayak...
      mannm kiyanne first php goda dapan, ubata jobakata yanna puluwan.. ita passe ekko php walinma issarahata yanwanm php frameworks igena ganin... nathnm python, node wage ekak igena ganin....

      math mulin igangaththe php, dn python <3

      posted in Web Development
      isuru mahesh perera
      isuru mahesh perera
    • RE: Web developer software developer

      bit eka karapn eka hodai. habai eka withrak uba kara kiyala madi.

      mulin web development wala basic tika igena ganin. (front end + backend wala basics)

      • html, css, js
      • jquery & bootstrap
      • basic php + mysql (beginner kenekta php wage ekak use karana eka lesi python, node walata ynawata wada)
      • basic apache

      me tika hariyata goda dala application tikak hadala ube portfolio eka build karapn.
      ethokota ubata job ekakata yaddi pennana puluwan.
      ita passe company ekakta join unama ubata therei ubata hariyatama set wenne front end da nathnm backend da kiyla.
      ethanin ehata ubata therei mona technologies da follow karanna ona kiyala.

      thawa ube skills wadi karaganna articles kiywapn. books aran kiywapn.
      math ghuwe me game ekamai. habai tikak kattak thiynwa thaniyama igena gaddi. habai aniwa goda ynna puluwan
      good luck brother <3

      posted in Web Development
      isuru mahesh perera
      isuru mahesh perera
    • RE: What's your programming language ?

      Im using Python <3 for web development

      posted in Comments & Feedback
      isuru mahesh perera
      isuru mahesh perera
    • RE: මොකක්ද ඉක්මන් Angular/React.js?

      React hodai

      posted in Front-End Development
      isuru mahesh perera
      isuru mahesh perera
    • RE: A Step-by-Step Guide to Fine-Tuning GPT Models for Custom Use Cases

      good one !

      posted in Artificial Intelligence
      isuru mahesh perera
      isuru mahesh perera
    • RE: What's your programming language ?

      @root yep :blush:

      posted in Comments & Feedback
      isuru mahesh perera
      isuru mahesh perera
    • RE: Sampath bank eke payment gateway udauwwak

      meka balapn machn meke thiyanawa https://paycorp-international.gitbook.io/quick-web/
      awulak awoth kiyapn mn lagadi paycorp eka use kara.

      posted in Web Development
      isuru mahesh perera
      isuru mahesh perera

    Latest posts made by isuru mahesh perera

    • RE: A Step-by-Step Guide to Fine-Tuning GPT Models for Custom Use Cases

      good one !

      posted in Artificial Intelligence
      isuru mahesh perera
      isuru mahesh perera
    • RE: For self studies guidance

      Angular wala basic karanm Eken mona hari projects build karanna try karanna. Thawa angular wala best practices balanna.
      Hodama de company ekakata join wena eka ethokota kohomath okkoma dewal hadenawa.

      Thawa books, articles kiyawanna

      posted in General Discussion
      isuru mahesh perera
      isuru mahesh perera
    • RE: Programming මුල සිට සරලව සිංහලෙන් (Including OOP) ✅

      patta bn <3

      posted in Programming
      isuru mahesh perera
      isuru mahesh perera
    • RE: Docker ගැන සිංහලෙන් - part 01

      @Thilina-jayakody thanx bro

      posted in Back-End Development
      isuru mahesh perera
      isuru mahesh perera
    • RE: Web developer software developer

      bit eka karapn eka hodai. habai eka withrak uba kara kiyala madi.

      mulin web development wala basic tika igena ganin. (front end + backend wala basics)

      • html, css, js
      • jquery & bootstrap
      • basic php + mysql (beginner kenekta php wage ekak use karana eka lesi python, node walata ynawata wada)
      • basic apache

      me tika hariyata goda dala application tikak hadala ube portfolio eka build karapn.
      ethokota ubata job ekakata yaddi pennana puluwan.
      ita passe company ekakta join unama ubata therei ubata hariyatama set wenne front end da nathnm backend da kiyla.
      ethanin ehata ubata therei mona technologies da follow karanna ona kiyala.

      thawa ube skills wadi karaganna articles kiywapn. books aran kiywapn.
      math ghuwe me game ekamai. habai tikak kattak thiynwa thaniyama igena gaddi. habai aniwa goda ynna puluwan
      good luck brother <3

      posted in Web Development
      isuru mahesh perera
      isuru mahesh perera
    • RE: Docker ගැන සිංහලෙන් - part 01

      @root thanks bro

      posted in Back-End Development
      isuru mahesh perera
      isuru mahesh perera
    • RE: Docker ගැන සිංහලෙන් - part 01

      @oditha thanks bro

      posted in Back-End Development
      isuru mahesh perera
      isuru mahesh perera
    • Docker ගැන සිංහලෙන් - part 01

      docker,
      docker කියන්නේ , ඔයාගේ entire software එක package කරලා easily deploy කරන්න පුළුවන් solution එකක්.

      අපි locally development කරද්දී හොදට වැඩ කරන app එක, server එකට දැම්මට පස්සේ ඒක වැඩ කරන්නේ නැතිව යනවා. එතොකොට එක fix කරන්න අපිට ටිකක් වෙලා යනවා. එකට ගොඩක් හේතුව වෙන්නේ, අපෙ local environment එකයි server environment එකයි වෙනස් නිසා.

      හැබැයි අපිට පුළුවන් docker use කරලා මේ problem එක solve කරන්න. එකට හේතුව locally docker ඇතුලේ app එක වැඩ කරනවනම්, docker run වෙන ඕන server එකක අපේ app එක වැඩ.

      how docker works,
      docker කියන්නේ containerization platform එකක්.
      containerization එක්ක ලගින්ම යන අනිත් එක තමා virtualization කියන්නේ. අපි බලමු මොකක්ද මේ දෙකේ වෙනස කියල.

      alt text

      virtualization (2nd image ) කියන්නේ සරලව, host os එක උඩ hypervisor software එකක් run කරලා, එක uda virutal machines හදාගන්න එක.
      එතොකොට ඒ හැම virtual machine ekak ඇතුලේම entire os එකක් run වෙනවා.
      ex - virtual box කියන්නේ open source hyperviosr එකක්. අපිට windows os එකක් උඩ linux install කරන්න පුලූවන් dual boot කරන්නේ නැතුව.

      එතකොට docker engine එක වැඩ කරන්නේ ?,
      අපේ host os එක උඩ docker engine එක run කරනවා, ඊට පස්සේ docker වලට පුළුවන් isolated process හදන්න්න. මේ අපි හදන එක process එකකට කියනවා container එකක් කියල. ඇත්තටම container එකක තියෙන්නේ මොකක් හරි එක process එකක්. ex: apache server, mysql server..
      එක lightweight, අනිත් process එක්ක isolated, ඒ වගේම host OS එකේ kernel එක තමා මෙ හැම container එකක්ම share කරගන්නේ.

      ඒ වගේම virtual machine එකකට වඩා fast. එකට හේතුව virtual machine එකක් restart කරනවා කියන්නේ entire OS එකම restart වෙනවා කියන එක. හැබැයි container එකක් restart වෙනව කියන්නේ, දැනටමත් run වෙන host OS එකේ process එකක් restart වෙනවා කියන එක විතරයි.

      basic terms of docker

      container - isolated process එකක් (මොකක් හරි එක task එකක් , etc mysql server, nginx server )

      image - container එකක් run කරන්න ඕන application library, system tools, configuration files වල එකතුවක්. ඒවගේම අපිට මේ එක image එකකින් multiple containers හදාගන්න පුළුවන්.

      dockerfile - docker image එකක් create කරන්න ඕන instructions තමා අපි මේකේ ලියන්නේ. ex - environment variables, port mapping, මොන toolsද install වෙන්න ඕන කියල මේ file එකේ ලියන්න පුළුවන්.

      docker registry - docker image එක store කරන්න පුළුවන් place එකක්.
      ex: අපි git එක්ක github වගේ remote reporsitory එකක් තියාගන්නවා වගේ වැඩක්.

      • docker hub - මේක docker ලගේ official images store කරන්න තියන registry එකක්. free වගේම paid version එකක් තියනව.
      • aws ecr - aws lage paid solution එකක් docker images store කරන්න තියෙන
        .

      හරි දැන් අපි docker වලින් container එකක් හදල බලමු,

      මුලින් ඔය docker install කරගන්න ඔයාගේ os එක අනුව.
      https://docs.docker.com/get-docker/

      check docker installed, then it will show the help menu

      docker
      

      pull mysql docker image from docker hub

      docker pull mysql:5.7
      

      view downloaded docker images

      docker images
      REPOSITORY                                                        TAG                 IMAGE ID            CREATED             SIZE
      mysql                                                             5.7                 a4fdfd462add        5 days ago          448MB
      

      create a docker container from docker image

      docker run --name my_db -p 9000:3306 -e MYSQL_ROOT_PASSWORD=123 -d mysql:5.7
      

      --name used for container name (අපිට කැමති නමක් දෙන්න පුළුවන් )
      -e used for environment variables
      -i or -d used for running mode,
      container එකක් run වෙන විදී දෙකක් තියනව.

      • -i ඔයාට container එකේ input outputs shell එකෙන් බලාගන්න පුළුවන්. ඔය ඒ shell එක close කරෝතින් container එක stop වෙනවා
      • -d container එක run වෙන්නේ background process එකක් විදිහට.

      -p used for port mapping,
      අපි මුලින් කිවා container එකක් කියන්නේ process එකක් කියල, එකියන්නේ සරලව container එක මොකක්හරි port එකක run වෙනව කියන එකයි . mysql ගත්තොත් එයා default port number 3306 එකේ run වෙනවා.

      එකියන්නේ container eka athule අපේ mysql server එක port 3306 run wenawa. හැබැයි අපිට තාම අපේ host OS එකේ idan container එකට connect wenna බැහැ. මොකද host os එක මේ process eka ගැන දන්නේ නැති නිසා.

      එනිසා අපිට සිද්ද වෙනවා container port එක ape host OS එකේ port එකකට map කරන්න. මං මේකේ 3306 කියන container eke run වෙන port එක 9000 kiyana host OS එකේ port එකකට map karala තියෙන්නේ.

      check running containers

      docker ps
      CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
      3788c9366954        mysql:5.7           "docker-entrypoint.s…"   2 minutes ago       Up About a minute   33060/tcp, 0.0.0.0:9000->3306/tcp   my_db
      
      

      now you can connect to the running container

      mysql -h 127.0.0.1 -P 9000 -uroot -p123
      
      mysql: [Warning] Using a password on the command line interface can be insecure.
      Welcome to the MySQL monitor.  Commands end with ; or \g.
      Your MySQL connection id is 12
      Server version: 5.7.30 MySQL Community Server (GPL)
      
      Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
      
      Oracle is a registered trademark of Oracle Corporation and/or its
      affiliates. Other names may be trademarks of their respective
      owners.
      
      Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
      
      mysql> 
      
      

      to stop running container,

      docker ps # list running containers
      CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
      d3d87881b0ce        mysql:5.7           "docker-entrypoint.s…"   About an hour ago   Up About an hour    33060/tcp, 0.0.0.0:9000->3306/tcp   my_db
      
      docker stop d3d87881b0ce # cotaniner id
      
      

      get all containers (running or stopped)

      docker ps -a
      CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS                      PORTS                                                                              NAMES
      3788c9366954        mysql:5.7                    "docker-entrypoint.s…"   5 minutes ago       Up 11 seconds               33060/tcp, 0.0.0.0:9000->3306/tcp                                                  my_db
      c9142a5d1251        char:latest                  "/bin/bash ./run.sh"     8 days ago          Exited (1) 8 days ago                                                                                          pensive_shtern
      8266e6f237e2        5c8c4e171da6                 "/bin/bash ./run.sh"     8 days ago          Exited (1) 8 days ago       
      

      මේක docker වල basic overview එකක් විතරයි. තව ගොඩක් concepts තියනවා ඉගෙන ගන්න. මං ඒවත් ඉස්සරහට දාන්නම්.

      posted in Back-End Development
      isuru mahesh perera
      isuru mahesh perera
    • RE: COVID19 Virtual Assistant Sri Lanka ...

      ado patta <3

      posted in Announcements
      isuru mahesh perera
      isuru mahesh perera
    • RE: Sampath bank eke payment gateway udauwwak

      meka balapn machn meke thiyanawa https://paycorp-international.gitbook.io/quick-web/
      awulak awoth kiyapn mn lagadi paycorp eka use kara.

      posted in Web Development
      isuru mahesh perera
      isuru mahesh perera