រំលងទៅមាតិកាសំខាន់

Docker - ទំព័រដើម

អ្វីទៅជា Docker?

  • ក្នុងន័យសាមញ្ញ Docker ជាកម្មវិធីមួយដែលសម្រួលដំណើរការនៃការបង្កើតកម្មវិធី, គ្រប់គ្រងកម្មវិធីនិងចែកចាយកម្មវិធីទៅកន្លែងផ្សេងទៀត។ វាធ្វើដូចនេះដោយធ្វើឲ្យគ្រប់ប្រព័ន្ធប្រតិបត្តិការរបស់កុំព្យូទ័រទាំងអស់អាចទាញយកកម្មវិធីនិងដំណើរការកម្មវិធីណាមួយដោយមានភាពងាយស្រួល និងគ្មានការកំណត់រចនាសម្ព័ន្ធអីច្រើននោះទេ។

  • Docker ប្រើ container សម្រាប់ភ្ជាប់ទៅកាន់ប្រព័ន្ធប្រតិបត្តិការរបស់កុំព្យូទ័រ ដើម្បីអាចប្រតិបត្តិនូវកម្មវិធីបាន។ វាអនុញ្ញាតឲ្យកម្មវិធីអាចប្រើប្រាស់នូវ Linux kernel ដូចគ្នាជាលក្ខណៈ system ដែលភ្ចាប់នៅលើកុំព្យូទ័រ, ជាជាងការបង្កើតនូវ virtual operating system ទាំងមូល។

  • Docker ត្រូវបានបង្កើតឡើងដោយលោក Kamel Founadi, លោក Solomon Hykes និងលោក Sebastien Pahl និងប្រើភាសា Golang Programming Language។ មកដល់ពេលនេះ Docker បានបង្កើតបានរយះពេល 10 ឆ្នាំហើយគិតត្រឹមពី ថ្ងៃទី20 ខែមិនា ឆ្នាំ2013។

  • Docker រួមបញ្ចូលជាមួយនឹងសមាសធាតុជាច្រើនដូចជា Docker client, Docker server, Docker machine, Docker hub, Docker composes។ល។

អ្វីទៅជា Docker Container?

  • Docker Container ជា virtual machine ដែលមានលក្ខណៈ lightweight។ វាអនុញ្ញាតឲ្យអ្នកអភិវឌ្ឍអាចវេចខ្ចប់នូវកម្មវិធីដែលរួមបញ្ចូលនូវ libraries និង dependencies ទាំងអស់ដែលពាក់ព័ន្ធជាមួយនឹងកម្មវិធី, ហើយដឹកតាមនាវាជាលក្ខណៈកញ្ចប់មួយៗ។

Docker Container

  • អត្ថប្រយោជន៍នៃការប្រើប្រាស់ docker container គឺអ្នកមិនចាំបាច់ត្រូវការបែងចែក RAM និងទំហំ disk សម្រាប់ប្រតិបត្តិកម្មវិធីអីនោះទេ គឺជាក់ស្តែងវានឹងបង្កើតនូវការផ្ទុកនិងទំហំដោយស្វ័យប្រវត្តិដោយគិតទៅតាមការទាមទាររបស់កម្មវិធី។

អ្វីទៅជា Virtual Machine?

  • Virtual Machine ជាកម្មវិធីដែលអនុញ្ញាតឲ្យយើងអាចធ្វើការទាញយកនិងប្រើប្រាស់នូវប្រព័ន្ធប្រតិបត្តិការផ្សេងៗ(Windows, Linux, និង Debian) នៅក្នុងពេលដំណាលគ្នានៅលើម៉ាស៊ីនរបស់យើង។ ប្រព័ន្ធប្រតិបត្តិការដែល virtual machine កំពុងដំណើរការគឺគេហៅថា virtualized operating systemsVirtualized Operating Systems ទាំងអស់នេះគឺអាចប្រតិបត្តិនូវកម្មវិធីនិងបំពេញភារកិច្ចដូចប្រព័ន្ធប្រតិបត្តិការពិតៗអញ្ចឹង។

Virtual Machine

Containers Vs. Virtual Machine

ContainerVirtual Machine
Container គឺលឿនហើយមានតម្លៃថោក។Virtual Machine គឺយឺតហើយមានតម្លៃថ្លៃ។
គ្មានការខ្ជះខ្ជាយ memory។ខ្ជះខ្ជាយ memory។
វាប្រើប្រាស់ kernel ដូចគ្នា ប៉ុន្តែ distribution ខុសគ្នា។វាប្រើប្រាស់ប្រព័ន្ធប្រតិបត្តិឯករាជ្យជាច្រើន។

ហេតុអ្វីត្រូវប្រើ Docker?

Why Docker

  • Docker ត្រូវបានរចនាឡើងដើម្បីជាអត្ថប្រយោជន៍សម្រាប់អ្នកអភិវឌ្ឍនិងអ្នកគ្រប់គ្រងប្រព័ន្ធ។ ហេតុផលដែលអ្នកគួរប្រើ Docker គឺមានដូចខាងក្រោម:
    • Docker អនុញ្ញាតឲ្យយើងងាយស្រួលក្នុងការដំឡើងនិងដំណើរការ software ដោយមិនចាំបាច់ខ្វាយខ្វល់អំពីការរៀបចំនិង dependencies អីនោះទេ។
    • Developers ប្រើប្រាស់ Docker ដើម្បីលុបបំបាត់បញ្ហាម៉ាស៊ីន ពោលគឺនៅពេលដែលយើងដំណើរការកម្មវិធីនៅលើ Docker គឺវាមានភាព lightweight ជាងការដំណើរការកម្មវិធីដោយផ្ទាល់។
    • Operators ប្រើប្រាស់ Docker សម្រាប់ដំណើរការនិងគ្រប់គ្រងកម្មវិធីនៅក្នុង containers ឲ្យដាច់ដោយឡែកពីគ្នា ដើម្បីងាយស្រួលក្នុងការគណនាបរិមាណ។
    • Enterprises ប្រើប្រាស់ Docker សម្រាប់បង្កើតឡើងនូវ software delivery pipelines ដែលប្រកបទៅដោយសុវត្ថិភាព ដើម្បីបញ្ចូនមុខងារកម្មវិធីថ្មីឲ្យមានភាពឆាប់រហ័សនិងមានសុវត្ថិភាព។

គុណសម្បត្តិរបស់ Docker

  • គុណសម្បត្តិរបស់ Docker គឺមានដូចខាងក្រោម៖
    • វាប្រើ memory អស់តិច។
    • វាផ្តល់នូវ lightweight virtualization
    • វាមិនទាមទារឲ្យមានប្រព័ន្ធប្រតិបត្តិការពេញលេញ ដើម្បីដំណើរការកម្មវិធីនោះទេ។
    • វាអនុញ្ញាតឲ្យអ្នកប្រើនូវ remote repository ដើម្បីអាចចែករំលែក container ជាមួយអ្នកដទៃ។

គុណវិបត្តិនៃ Docker

  • គុណវិបត្តិរបស់ Docker គឺមានដូចខាងក្រោម៖
    • វាបង្កើននូវភាពស្មុគស្មាញដោយសារតែមាននូវស្រទាប់បន្ថែម។
    • នៅក្នុង Docker, វាពិបាកនៅក្នុងការគ្រប់គ្រងចំនួនបរិមាណដ៏ធំនៃ container
    • មុខងារខ្លះដូចជា container self-registration, containers self-inspects, ចម្លងឯកសារពី host ទៅ container, និងអ្វីផ្សេងទៀតត្រូវបានបាត់នៅក្នុង Docker
    • Docker មិនមានដំណោះស្រាយដ៏ល្អសម្រាប់កម្មវិធីដែលទាមទារនូវ rich graphical interface

Docker Engine

  • វាជា client server application ដែលមានធាតុផ្សំសំខាន់ៗដូចខាងក្រោម៖
    • Server ដែលជាប្រភេទកម្មវិធីដែលដំណើរការយូរហៅថា daemon process
    • REST API ត្រូវបានប្រើដើម្បីបញ្ជាក់ពីចំណុចប្រទាក់នៃកម្មវិធីដែលអាចប្រើដើម្បីនិយាយទៅកាន់ daemon ហើយណែនាំឲ្យធ្វើអ្វីមួយ។
    • Client មានជា command line interface សម្រាប់ដាក់ពាក្យបញ្ជាទៅកាន់ Server

Docker Engine