đŸ’ģ Development ⎀⎐āļŠ āļŊāˇšāˇƒāˇ’ āļšāļģāļœāļąāˇŠāļą Docker use āļšāļģāļ¸āˇ”

Ted Mosby

Well-known member
  • Aug 29, 2021
    594
    1,604
    93
    Development ⎀⎐āļŠ āļŊāˇšāˇƒāˇ’ āļšāļģāļœāļąāˇŠāļą Docker use āļšāļģāļ¸āˇ”


    āļ…āļ´āˇš developing āļšāļģāļą āļšāˇœāļŊ⎊āļŊāˇ āļšāˇ™āļŊ⎊āļŊāˇāļąāˇŠāļ§ āļ­āˇ’āļē⎙āļą common āļ´āˇŠâ€āļģ⎁⎊āļą āļ­āļ¸āļē⎒ develop āļšāļģāļą laptop āļ‘⎄⎙āļ¸ format āļšāļģāˇāļ§ āļ´āˇƒāˇŠāˇƒāˇš āļ†āļē⎙āļ¸āļ­āˇŠ development environment āļ‘āļš setup āļšāļģāļœāļąāˇŠāļą āļ‘āļš. PHP install āļšāļģāļŊāˇ MYSQL install āļšāļģāļŊāˇ āļ­āˇ€ āļ‰āļ­āˇ’āļąāˇŠ Redis/RabbitMQ ⎀āļœāˇš āļ‘āļš āļ•āļą āˇ€āˇ™āļąāˇ€āˇ āļąāļ¸āˇŠ āļ¯āˇ€āˇƒāˇŠ āļļāˇāļœāļēāļšāˇŠ ⎀⎒āļ­āļģ āļēāļąāˇ€āˇ āļ”āļšāˇŠāļšāˇœāļ¸ install āļšāļģāļŊāˇ setup āļšāļģāļŊāˇ āļ‰āˇ€āļģ āļšāļģāļœāļąāˇŠāļą.

    āļŠāļ§ āļ´āˇƒāˇŠāˇƒāˇš āļ´āļģāļĢ āˇ€āˇāļŠ āļšāļģāļ´āˇ” project āļ‘⎄⎙āļ¸ clone āļšāļģāļŊāˇ ⎀⎐āļŠāˇš āļšāļģāļąāˇŠāļą āļēāļąāļšāˇœāļ§ āˇ€āˇāļŠ āļšāļģāļąāˇŠāļąāˇš āļąāˇ‘. āļ­āˇ€ āļ¯āˇ€āˇƒāˇŠ āļ‘āļšāˇ„āˇāļ¸āˇāļģāļšāˇŠ ⎀⎒āļ­āļģ āˇ„āˇœāļēāļŊāˇ āˇ„āˇœāļēāļŊāˇ āļļāļŊāļąāļšāˇœāļ§ āļ­āļ¸āļē⎒ āļ­āˇšāļģ⎙āļąāˇŠāļąāˇš PHP 7.0, MySQL 5.7 āļ•āļą āļ‘āļšāļ§ āļ…āļŊ⎔āļ­āˇ™āļąāˇŠ install āļšāļģāļ¯āˇŠāļ¯āˇ“ āļšāļģāļŊāˇ āļ­āˇ’āļē⎙āļąāˇŠāļąāˇš PHP 7.3, MySQL 8.0. āļŠāļ§āļ´āˇƒāˇŠāˇƒāˇš āļ’āļš āˇ„āļ¯āˇāļœāˇ™āļą āļ‘⎄⎙āļ¸ āļ‘āļąāļšāˇœāļ§ āļ­āˇ€ āļ¯āˇ€āˇƒāˇŠ āļļāˇāļœāļēāļšāˇŠ ⎀⎒āļ­āļģ ⎀⎒āļ­āļģ āļœāˇ’⎄⎒āļąāˇŠ.

    āˇƒāˇ„ āļ­āˇ€ āļ­āˇ€ āļ´āˇŠâ€āļģ⎁⎊āļą āļ­āˇ’āļē⎙āļąāˇ€āˇ. āļ”āļēāˇāļ§ āļ•āļą āļ‹āļąāˇœāļ­āˇŠ PHP version āļ¯āˇ™āļš āļ­āˇ”āļąāļšāˇŠ manage āļšāļģāļąāˇŠāļą. MYSQL version āļ¯āˇ™āļš āļ­āˇ”āļąāļšāˇŠ manage āļšāļģāļąāˇŠāļą. Mongodb version āļ¯āˇ™āļš āļ­āˇ”āļąāļšāˇŠ manage āļšāļģāļœāļąāˇŠāļą āˇ€āļœāˇš ⎄āļģ⎒āļ¸ āļšāļģāļ¯āļģāļē⎒.

    āļ¸āļ¸ āļąāļ¸āˇŠ āļ¯āˇāļąāˇŠ āļšāˇāļŊ⎙āļš āļ‰āļ¯āļąāˇŠ āļ¸āˇš ⎀āļœāˇš ⎄⎐āļ¸ āļ‘āļšāļšāļšāļ§ use āļšāļģāļąāˇŠāļąāˇš Docker. Docker āļœāˇāļą āļ¯āļąāˇŠāļąāˇš āļąāˇāļ­āˇŠāļąāļ¸āˇŠ comment āļ‘āļšāļšāˇŠ āļ¯āˇāļąāˇŠāļą āļ¸āļ¸ āļ’ āļœāˇāļą āˇ€āˇ™āļąāļ¸ āļšāˇ’āļēāļŊāˇ āļ¯āˇ™āļąāˇŠāļąāļ¸āˇŠ. āļ’ āļąāˇāļ­āļ­āˇŠ āļœāˇœāļŠāļšāˇŠ online resources āļ­āˇ’āļē⎙āļąāˇ€āˇ docker basics āļ‰āļœāˇ™āļą āļœāļąāˇŠāļą.

    āļ¸āļ¸ āļ…āļŊ⎔āļ­āˇ™āļąāˇŠ development environment āļ‘āļš setup āļšāļģāļąāˇ€āˇ āļąāļ¸āˇŠ (format āļšāļģāˇāļ§ āļ´āˇƒāˇŠāˇƒāˇš ⎀āļœāˇš) āļ¸āˇ”āļŊ⎒āļąāˇŠāļ¸ install āļšāļģāļąāˇŠāļąāˇš git āļŠāļ§ āļ´āˇƒāˇŠāˇƒāˇš docker and docker-compose.

    āļ¸āļœāˇš ⎄⎐āļ¸ project āļ‘āļšāļšāļ¸ docker-compose ⎆āļē⎒āļŊ⎊ āļ‘āļšāļšāˇŠ āļ­āˇ’āļē⎙āļąāˇ€āˇ. āļ¸āļ¸ āļ¸āˇšāļšāˇš āļ¯āˇāļąāˇŠāļąāˇš project āļ‘āļš run āļšāļģāļąāˇŠāļą āļ•āļą services. PHP, MYSQL, RABBITMQ, REDDIS ⎀āļœāˇš.

    YAML:
    version: "3.9"
    services:
    
      app:
        image: php-73
        ports:
          - "9001:80"
        volumes:
          - ${PWD}:/app
    
      redis:
        image: redis
        ports:
          - "9002:6379"
    
      mysql:
        image: mysql
        ports:
          - "3333:3306"

    āļ¸āˇ™āļąāˇŠāļą āļ¸āˇš ⎀āļœāˇš. php-73 āļšāˇ’āļēāļąāˇŠāļąāˇš āļ¸āļœāˇš custom image āļ‘āļšāļšāˇŠ. āļ¸āˇœāļšāļ¯ laravel ⎀āļœāˇš āļ’āˇ€āˇāļ§ āˇƒāˇāˇ„āˇ™āļąāˇŠāļą extentions āļ‘⎄āļ¸ āļ•āļąāˇš. āļ’āļš āļąāˇ’āˇƒāˇ laravel ⎀āļŊāļ§ āļ•āļą āļ’āˇ€āˇ install āļšāļģāļ´āˇ” image āļ‘āļšāļšāˇŠ āļ­āˇ’āļēāˇāļœāˇ™āļą āļ‰āļąāˇŠāļąāˇš.

    āļ¯āˇāļąāˇŠ āļ¸āˇšāļšāˇš ⎄⎐āļ§āˇ’āļēāļ§ āļšāˇœāˇ„āˇœāļ¸āļ¯ mysql, reddis ⎀āļŊāļ§ connect ⎀⎙āļąāˇŠāļąāˇš ?

    app āļ‘āļš connect ⎀⎙āļąāˇŠāļąāˇš āˇ„āˇœāˇƒāˇŠāļ§āˇŠ āļ‘āļš āļ­āļ¸āļē⎒ mysql, port eka 3306. āļ’ āļšāˇ’āļēāļąāˇŠāļąāˇš āˇ„āˇœāˇƒāˇŠāļ§āˇŠ āļ‘āļšāˇš localhost ⎀⎙āļąāˇ”⎀āļ§ mysql āļšāˇ’āļēāļŊāˇ āļ¯āˇ™āļąāˇŠāļą. āļ”āļēāˇāļœāˇš web app āļ‘āļš localhost:9001 ⎀āļŊ⎒āļąāˇŠ access āļšāļģāļąāˇŠāļą āļ´āˇ”⎅⎔⎀āļąāˇŠ. āļ”āļēāˇāļ§ mysql db āļ‘āļš āļļāļŊāļąāˇŠāļą āļ•āļąāˇš āļąāļ¸āˇŠ work bench āļ‘āļšāˇ™āļąāˇŠ localhost 3333 port āļ‘āļšāˇ™āļąāˇŠ āļļāļŊāļąāˇŠāļą āļ´āˇ”⎅⎔⎀āļąāˇŠ.

    āļ‘āļ­āļšāˇœāļ§ composer install ⎀āļœāˇš āļšāļģāļąāˇŠāļąāˇš āļšāˇœāˇ„āˇœāļ¸āļ¯ ?

    āļ‘āļšāļ§ docker app container āļ‘āļšāļ§ exec ⎀⎙āļąāˇŠāļą āļ•āļąāˇš. docker exec -it CONTIANER_ID /bin/bash āļšāˇ’āļēāļŊāˇ āļ¯āˇ”āļąāˇŠāļąāļ¸ āļ”āļēāˇāļ§ docker container āļ‘āļšāļ§ access ⎄āļ¸āˇŠāļļ⎙āļąāˇ€āˇ. āļ”āļ§ āļ´āˇƒāˇŠāˇƒāˇš composer install ⎀āļœāˇš āļ’āˇ€āˇ āļšāļģāļąāˇŠāļą āļ´āˇ”⎅⎔⎀āļąāˇŠ.

    āļ¸āˇš project āļ‘āļšāˇš ⎀⎐āļŠ āļšāļģāļŊāˇ āļ‰āˇ€āļģ āļ‹āļąāˇāļ¸ docker-compose stop āļšāˇ’āļēāļą command āļ‘āļš run āļšāļģāˇāļ¸ āļ”āļēāˇāļœāˇš āļ”āļšāˇŠāļšāˇœāļ¸ services āļ§āˇ’āļš āļąāˇ€āļ­āˇ’āļąāˇ€āˇ. āļ†āļē⎙āļ¸āļ­āˇŠ āļ¸āˇš project āļ‘āļšāˇš ⎀⎐āļŠ āļ´āļ§āļąāˇŠ āļœāļąāˇŠāļąāļšāˇœāļ§ start āļšāļģāļœāļąāˇŠāļą āļ­āˇ’āļē⎙āļąāˇŠāļąāˇš.


    ⎀⎐āļ¯āļœāļ­āˇŠāļ¸ āļ¯āˇš āļ­āļ¸āļē⎒ āļ”āļēāˇāļ§ āļ¸āˇš project āļ‘āļš āˇ€āˇ™āļą āļšāˇāļ§ āˇ„āļģ⎒ āļē⎀āļąāˇŠāļą āļ•āļąāˇš āļ‹āļąāˇœāļ­āˇŠ āļšāˇ™āļŊ⎒āļąāˇŠāļ¸ āļē⎀āļąāˇŠāļą āļ´āˇ”⎅⎔⎀āļąāˇŠ āļ¸āˇœāļšāļ¯ āļ’ āļšāˇ™āļąāˇāļ§āļ­āˇŠ āļ”āļēāˇāļœāˇš php version install āļšāļģ āļšāļģ āļ‰āļąāˇŠāļą āļ•āļąāˇš āļąāˇ. docker-compose āļ‘āļš run āļšāļģāļ´āˇ” āļœāļ¸āļąāˇŠ āļ”āļšāˇŠāļšāˇœāļ¸ āˇ€āˇāļŠ.

    It works on my machine āļšāˇ’āļēāļŊāˇ āļšāˇ’āļēāļąāˇŠāļą āļ•āļą āˇ€āˇ™āļąāˇŠāļąāˇš āļąāˇ

    āļ‘⎄⎙āļąāļ¸āˇŠ āļ…āļ¯āļ§ āļœāˇ’āļēāˇ.
    āļ­āˇ€ āļ¯āˇ€āˇƒāļšāˇ’āļąāˇŠ āļ¸āˇš ⎀āļœāˇšāļ¸ post āļ‘āļšāļšāˇŠ āļ…āļģāļœāˇ™āļą āļ‘āļąāˇŠāļąāļ¸āˇŠ. āļ”āļēāˇāļŊāļ§ āļ•āļą āļ¯āˇšāˇ€āļŊ⎊ comment āļšāļģāļąāˇŠāļą. āļ…āļ¯āˇ„āˇƒāļšāˇŠ āļ¯āˇāļœāˇ™āļąāļ¸ āļēāļąāˇŠāļą.
     

    Ted Mosby

    Well-known member
  • Aug 29, 2021
    594
    1,604
    93
    good post,
    mn docker dala imge ekk up krla vs on krpu gmn ram eka cpu eka ynwa 98% wtr. wada krgnd ba. lol
    āļ”āˇ€āˇŠ āļ‘⎄⎙āļ¸ āļ´āˇŠâ€āļģ⎁⎊āļą āļ­āˇ’āļē⎙āļąāˇ€āˇ. ⎃āļ¸āˇ„āļģ ⎀⎙āļŊāˇāˇ€āļ§ docker āļ‘āļšāļ§ āˇ€āˇ’āļ­āļģāļšāˇŠ āļ¸āļœāˇš 7GB ⎀⎒āļ­āļģ RAM āļ‘āļš use ⎀⎙āļąāˇ€āˇŠ.

    Good post. Development setup tika hadaganna ona machan Docker dala.
    āļ”āˇ€āˇŠ āļ¸āļ āļ‚ āˇ€āˇāļŠāˇšāļ§ āˇ€āˇāļē ⎀⎙āļŊāˇāˇ€āļ§ āˇ€āļŠāˇ āļœāˇœāļŠāļšāˇŠ ⎀⎙āļŊāˇ āļ‰āļ­āˇ”āļģ⎔ āļšāļģāļœāļąāˇŠāļą āļ´āˇ”⎅⎔⎀āļąāˇŠ
     
    • Like
    Reactions: Gwynbleidd

    pasindu201

    Well-known member
  • Dec 25, 2017
    1,739
    1,524
    113
    good post,Docker gana mula idala kiyala denna puluwanda?Docker ekka virtual box run karanna puluwanda?
     

    Tikiril

    Well-known member
  • May 14, 2021
    508
    937
    93
    āļ´āˇœāļŠāˇ’ āļ¯āˇ™āļēāļšāˇŠ āļ‘āļšāļ­āˇ” āļšāļģāļąāˇŠāļąāļ¸āˇŠ. :D

    āļ¸āˇšāļš multi-stage ⎀⎒āļ¯āˇ’āļēāļ§ config āļšāļģāļœāļąāˇŠāļą. āļ’ āļšāˇ’āļēāļąāˇŠāļąāˇ™ dev āļšāļģāļąāˇŠāļą āļ’āļš stage āļ‘āļšāļšāˇŠ, QA āļšāļģāļąāˇŠāļą āļ‘āļš āˇƒāˇŠāļ§āˇšāļĸ⎊ āļ‘āļšāļšāˇŠ, Production release āļ‘āļš āļ…āļąāˇŠāļ­āˇ’āļ¸ āˇƒāˇŠāļ§āˇšāļĸ⎊ āļ‘āļš. āļ¸āˇšāļšāˇ™āļąāˇŠ ⎀⎙āļąāˇŠāļąāˇ™, āļ…āļąāˇ€āˇāˇŠāļē āļ¯āˇšāˇ€āļŊ⎊, āļ•āļą āļąāˇāļ­āˇ’ āļŊāˇšāˇ€āļŊ⎊ ⎀āļŊāļ§ āļēāļąāˇŠāļąāˇ™ āļąāˇāļ­āˇ’ ⎀⎙āļą āļ‘āļš.
    āļ‹āļ¯āˇāˇ„āļģāļĢāļēāļšāˇŠ ⎀⎒āļ¯āˇ’āļēāļ§, release āļšāļģāļą production build āļ‘āļšāļ§ dev environment āļ‘āļšāˇš āļ¯āˇšāˇ€āļŊ⎊ āļ•āļą āļąāˇ‘. minimal binary āļ§āˇ’āļš āļ­āļ¸āļē⎒ āļ‘āļ­āļąāˇŠāļ§ āļ•āļąāˇ’. āļ‘āļšāļ¸ build āļ‘āļš, āļ•āļą āļ­āˇāļąāļšāˇ’āļąāˇŠ āļąāˇ€āļ­āˇŠāļ­āļŊ āļ¯āˇ™āļąāˇŠāļą āļ´āˇ”āļŊ⎔⎀āļąāˇŠ āļŊ⎐āļļ⎙āļą āļšāˇ™āļąāˇ āļ…āļąāˇ”⎀. :yes:
    Jenkins Build agent āļšāˇ™āļąāˇ™āļšāˇŠ Config āļšāļģāļœāļąāˇŠāļą āļ´āˇ”āļŊ⎔⎀āļąāˇŠ āļŊāˇšāˇƒāˇ’āļē⎙āļąāˇŠāļ¸, āļ•āļą āļ­āˇāļąāļšāˇ’āļąāˇŠ āļļ⎒āļŊ⎊āļŠāˇŠ āļ‘āļšāļšāˇŠ āļœāļąāˇŠāļą.

    āļ¸āˇšāļš āˇƒāļ´āˇāļģ⎊āļ§āˇŠ āļšāļģāļąāˇŠāļąāˇ™ Docker Engine 17.05 ⎀āļŊ āļ‰āļ¯āļŊ. :P