VM ឬ Docker?

αžαžΎαž’αŸ’αžœαžΎαžŠαžΌαž…αž˜αŸ’αžαŸαž…αžŠαžΎαž˜αŸ’αž”αžΈαž™αž›αŸ‹αžαžΆαž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αžΆαžš Docker αž αžΎαž™αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆ VM? αž’αŸ’αž“αž€β€‹αžαŸ’αžšαžΌαžœβ€‹αž€αŸ†αžŽαžαŸ‹β€‹αž“αžΌαžœβ€‹αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž’αŸ’αž“αž€β€‹αž…αž„αŸ‹β€‹αž“αŸ…β€‹αžŠαžΆαž…αŸ‹β€‹αžŠαŸ„αž™β€‹αž‘αŸ‚αž€αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αž„αŸ‹αž•αŸ’αžαžΆαž…αŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ‚αž›αž˜αžΆαž“αž’αž“αž’αžΆαž“αž’αžΆαž“αžΆ αž“αž·αž„αž•αŸ’αž“αŸ‚αž€αžšαžΉαž„αž“αž·αž˜αŸ’αž˜αž·αž αž“αŸ„αŸ‡αž‡αž˜αŸ’αžšαžΎαžŸαž‚αž½αžšαžαŸ‚αžŸαŸ’αžαž·αžαž“αŸ…αž›αžΎ VM αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αžΆαžšαž•αŸ’αžαžΆαž…αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‡αžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€ αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαž€αžΆαžš Docker αŸ”

αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžαžΎαž’αŸ’αžœαžΈαž‡αžΆαž—αžΆαž–αžαž»αžŸαž‚αŸ’αž“αžΆαžšαžœαžΆαž„ Docker containers αž“αž·αž„ VMs?

αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αž (VM) αž‚αžΊαž‡αžΆαž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαž“αž·αž˜αŸ’αž˜αž·αžαžŠαŸ‚αž›αž˜αžΆαž“αž§αž”αž€αžšαžŽαŸαž“αž·αž˜αŸ’αž˜αž·αžαž‘αžΆαŸ†αž„αž’αžŸαŸ‹ αž“αž·αž„αžαžΆαžŸαžšαžΉαž„αž“αž·αž˜αŸ’αž˜αž·αž αžŠαŸ‚αž›αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž―αž€αžšαžΆαž‡αŸ’αž™αžαŸ’αž˜αžΈαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αž‘αžΎαž„ αžšαž½αž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž‰αŸ’αž‡αžΆαž§αž”αž€αžšαžŽαŸαž“αž·αž˜αŸ’αž˜αž·αž αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ† αž“αž·αž„αžŸαž˜αžΆαžŸαž—αžΆαž‚αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ” αž“αŸ„αŸ‡αž‚αžΊαž™αžΎαž„αž‘αž‘αž½αž›αž”αžΆαž“αž’αžšαžΌαž”αžΈαž“αŸƒαž•αŸ’αž“αŸ‚αž€αžšαžΉαž„αžšαžΌαž”αžœαž“αŸ’αžαžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαž“αž·αž˜αŸ’αž˜αž·αžαž‡αžΆαž…αŸ’αžšαžΎαž“αž“αŸ…αž›αžΎαž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαžαŸ‚αž˜αž½αž™αŸ”
VM αžŠαŸ‚αž›αž”αžΆαž“αžŠαŸ†αž‘αžΎαž„αž’αžΆαž…αž™αž€αž‘αŸ†αž αŸ†αžαžΆαžŸαžαžΆαž˜αžœαž·αž’αžΈαž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆαŸ–

  • αž‘αŸ†αž αŸ†αžαžΆαžŸαžšαžΉαž„αžαŸαžš αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž…αžΌαž›αž”αŸ’αžšαžΎαžαžΆαžŸαžšαžΉαž„αž“αž·αž˜αŸ’αž˜αž·αžαž›αžΏαž“αž‡αžΆαž„αž˜αž»αž“ αž“αž·αž„αž‡αŸ€αžŸαžœαžΆαž„αž€αžΆαžšαž”αŸ†αž”αŸ‚αž€αž―αž€αžŸαžΆαžšαŸ”
  • αž€αžΆαžšαž”αŸ‚αž„αž…αŸ‚αž€αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžαžΆαž˜αžœαž“αŸ’αžαŸ” αž“αŸ…αž–αŸαž›αžŠαŸ†αž‘αžΎαž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž“αŸ’αžαŸ‚αž˜ αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ‚αž„αž…αŸ‚αž€αž‡αžΆαžαžΆαž˜αžœαž“αŸ’αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž–αž½αž€αžœαžΆ αžšαž αžΌαžαžŠαž›αŸ‹αžœαžΆαžˆαžΆαž“αžŠαž›αŸ‹αž…αŸ†αž“αž½αž“αž’αžαž·αž”αžšαž˜αžΆαžŠαŸ‚αž›αž”αžΆαž“αž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαžΆαŸ”

αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αžαž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ αž€αž“αŸ’αž›αŸ‚αž„αž‘αŸ†αž“αŸαžšαž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“ αž αžΎαž™αžαŸ’αžšαžΌαžœαž€αžΆαžšαž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž‡αžΆαž”αŸ’αžšαž…αžΆαŸ†αž“αŸƒαž”αžšαž·αžŸαŸ’αžαžΆαž“αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ”

Dockers αž‚αžΊαž‡αžΆαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž„αŸ’αž€αžΎαžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž€αž»αž„αžαžΊαž“αŸαžšαŸ” αž€αž»αž„αžαžΊαž“αŸαžš αž“αž·αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αžαž˜αžΆαž“αž’αžαŸ’αžαž”αŸ’αžšαž™αŸ„αž‡αž“αŸαžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαž»αžŸαž‚αŸ’αž“αžΆαŸ” αž€αž»αž„αžαžΊαž“αŸαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αž“αŸ’αž›αŸ‚αž„αž‘αŸ†αž“αŸαžšαžαž·αž… αž–αžΈαž–αŸ’αžšαŸ„αŸ‡ αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž“αž’αžΆαž“αžŠαŸ‚αž›αž”αžΆαž“αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αž…αŸ’αžšαžΎαž“αž‡αžΆαž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž‡αžΆαž„ VM αž–αžΈαž–αŸ’αžšαŸ„αŸ‡ αž˜αž·αž“αžŠαžΌαž… VM αž‘αŸ αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž“αž·αž˜αŸ’αž˜αž·αžαž“αŸ…αž€αž˜αŸ’αžšαž·αž OS αž˜αž·αž“αž˜αŸ‚αž“ hardware αž‘αŸαŸ” αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž“αŸαŸ‡αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž€αžΆαžšαž…αž„αž…αžΆαŸ†αžαž·αž… αž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž€αžΆαž“αŸ‹αžαŸ‚αž›αžΏαž“ αž“αž·αž„αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αž€αžΆαž“αŸ‹αžαŸ‚αž„αžΆαž™αžŸαŸ’αžšαž½αž›αŸ”

αž€αž»αž„αžαžΊαž“αŸαžšαž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž™αž“αŸ’αžαž€αžΆαžšαžŠαŸαž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž‡αžΆαž„αž˜αž»αž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžœαŸαž…αžαŸ’αž…αž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ„αž™αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŠαž›αŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αŸ” αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαž“αŸαŸ‡αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž€αž»αž„αžαžΊαž“αŸαžšαž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αžŸαŸ’αž“αžΌαž›αž“αŸƒαž”αŸ’αžšαž–αŸαž“αŸ’αž’ αžŠαŸ‚αž›αž€αž»αž„αžαžΊαž“αŸαžšαž“αžΈαž˜αž½αž™αŸ—αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‡αžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αž“αŸƒαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž…αž˜αŸ’αž”αž„ αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ†αžŽαž»αŸ†αž“αŸƒαžαŸ†αž”αž“αŸ‹αžŸαžαž·αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“ (αž‘αŸ†αž αŸ†αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“αž“αž·αž˜αŸ’αž˜αž·αžαžšαž”αžŸαŸ‹αžœαžΆαž•αŸ’αž‘αžΆαž›αŸ‹)αŸ” αžŠαŸ„αž™αžŸαžΆαžšαž‘αŸ†αž αŸ†αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“αž“αž·αž˜αŸ’αž˜αž·αžαžšαž”αžŸαŸ‹αž€αž»αž„αžαžΊαž“αŸαžšαž“αžΈαž˜αž½αž™αŸ—αž‚αžΊαž‡αžΆαžšαž”αžŸαŸ‹αžœαžΆ αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž‡αžΆαž€αž˜αŸ’αž˜αžŸαž·αž‘αŸ’αž’αž·αžšαž”αžŸαŸ‹αžαŸ†αž”αž“αŸ‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆαž˜αž·αž“αž’αžΆαž…αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž”αžΆαž“αž‘αŸαŸ”
αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαžΎαž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Docker αž‚αžΊαž›αžΈαž“αž»αž… (Docker αž€αŸαž’αžΆαž…αž”αŸ’αžšαžΎαž“αŸ…αž›αžΎ Windows αž“αž·αž„ MacOS) αžœαžΆαž”αŸ’αžšαžΎαž‚αž»αžŽαžŸαž˜αŸ’αž”αžαŸ’αžαž·αž…αž˜αŸ’αž”αž„αžšαž”αžŸαŸ‹αžœαžΆ αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αžœαžΆαžšαŸ€αž”αž…αŸ†αžαžΊαžŽαŸ‚αž›αž”αŸ†αž”αŸ‚αž€αŸ” αž€αžΆαžšαž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš Docker containers αž“αŸ…αž›αžΎ Windows αž“αžΉαž„αž’αŸ’αžœαžΎαž‘αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αž Linux αž–αžΈαž–αŸ’αžšαŸ„αŸ‡ containers αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€ OS αž“αŸƒαž”αŸ’αžšαž–αŸαž“αŸ’αž’ host αž αžΎαž™ OS αžŸαŸ†αžαžΆαž“αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž–αž½αž€αž‚αŸαž‚αžΊ Linux αŸ”

αž€αž»αž„αžαžΊαž“αŸαžš - αžαžΎαžœαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž™αŸ‰αžΆαž„αžŠαžΌαž…αž˜αŸ’αžαŸαž…?

αž€αž»αž„αžαžΊαž“αŸαžš αž‚αžΊαž‡αžΆαž’αžšαžΌαž”αžΈαž“αŸ…αž€αž˜αŸ’αžšαž·αžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž“αžΌαžœαž€αžΌαžŠ αž“αž·αž„αž—αžΆαž–αž’αžΆαžŸαŸ’αžšαŸαž™αŸ” αž€αž»αž„αžαžΊαž“αŸαžšαžαŸ‚αž„αžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž…αŸαž‰αž–αžΈαžšαžΌαž”αž—αžΆαž– αžŠαŸ„αž™αž”αž“αŸ’αžαŸ‚αž˜αžŸαŸ’αžšαž‘αžΆαž”αŸ‹αžαžΆαž„αž›αžΎαžŠαŸ‚αž›αž’αžΆαž…αžŸαžšαžŸαŸαžšαž”αžΆαž“ αž“αž·αž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž•αŸ’αžŸαŸαž„αŸ—αŸ” αžŠαŸ„αž™αžŸαžΆαžšαž€αž»αž„αžαžΊαž“αŸαžšαž˜αžΆαž“αžŸαŸ’αžšαž‘αžΆαž”αŸ‹αžŸαžšαžŸαŸαžšαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“ αž αžΎαž™αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž€αŸ’αž“αž»αž„αžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž“αŸ„αŸ‡ αž’αž»αž„αž…αŸ’αžšαžΎαž“αž’αžΆαž…αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαžšαžΌαž”αž—αžΆαž–αž˜αŸαžŠαžΌαž…αž‚αŸ’αž“αžΆαŸ”

αž€αž»αž„αžαžΊαž“αŸαžšαž“αžΈαž˜αž½αž™αŸ—αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžαžΆαž˜αžšαž™αŸˆαž―αž€αžŸαžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž‚αž˜αŸ’αžšαŸ„αž„ docker-compose αžŠαŸ‚αž›αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž“αŸ…αž€αŸ’αž“αž»αž„αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž…αž˜αŸ’αž”αž„ docker-compose.yml αŸ” αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αž’αŸ’αž“αž€αž’αžΆαž…αž€αŸ†αžŽαžαŸ‹αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž•αŸ’αžŸαŸαž„αŸ—αžŠαžΌαž…αž‡αžΆαžˆαŸ’αž˜αŸ„αŸ‡αž€αž»αž„αžαžΊαž“αŸαžš αž…αŸ’αžšαž€ αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽ αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αž’αž“αž’αžΆαž“ αž—αžΆαž–αž’αžΆαžŸαŸ’αžšαŸαž™αžšαžœαžΆαž„αž€αž»αž„αžαžΊαž“αŸαžšαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αž·αž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžˆαŸ’αž˜αŸ„αŸ‡αž€αž»αž„αžαžΊαž“αŸαžšαž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αŸ αž“αŸ„αŸ‡ Docker αž“αžΉαž„αž”αž„αŸ’αž€αžΎαžαž€αž»αž„αžαžΊαž“αŸαžšαžαŸ’αž˜αžΈαžšαžΆαž›αŸ‹αž–αŸαž› αžŠαŸ„αž™αž€αŸ†αžŽαžαŸ‹αžˆαŸ’αž˜αŸ„αŸ‡αž±αŸ’αž™αžœαžΆαžŠαŸ„αž™αž…αŸƒαžŠαž“αŸ’αž™αŸ”

αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž€αž»αž„αžαžΊαž“αŸαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž–αžΈαžšαžΌαž”αž—αžΆαž– Docker αžŠαŸ†αž‘αžΎαž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž―αž€αžŸαžΆαžšαž’αžΆαž“/αžŸαžšαžŸαŸαžšαž“αŸ…αž›αžΎαž€αŸ†αž–αžΌαž›αž“αŸƒαžŸαŸ’αžšαž‘αžΆαž”αŸ‹αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αž™αžΎαž„αž…αž„αŸ‹αž±αŸ’αž™ Docker container αžšαž”αžŸαŸ‹αž™αžΎαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αžΉαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ”

αž“αŸ…αž–αŸαž›αžŠαŸ‚αž› Docker αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž€αž»αž„αžαžΊαž“αŸαžšαžŠαŸ†αž”αžΌαž„ αžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž’αžΆαž“/αžŸαžšαžŸαŸαžšαžŠαŸ†αž”αžΌαž„αž‚αžΊαž‘αž‘αŸαŸ” αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž€αžΎαžαž‘αžΎαž„αž–αž½αž€αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž‘αŸ…αžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž“αŸ„αŸ‡; αž§αž‘αžΆαž αžšαžŽαŸ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αž„αŸ‹αž€αŸ‚αž”αŸ’αžšαŸ‚αž―αž€αžŸαžΆαžš αž―αž€αžŸαžΆαžšαž“αŸ„αŸ‡αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αž˜αŸ’αž›αž„αž–αžΈαžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž”αžΆαž“αžαŸ‚αž’αžΆαž“αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž‘αŸ…αžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž’αžΆαž“-αžŸαžšαžŸαŸαžšαŸ”
αž€αŸ†αžŽαŸ‚αžŠαŸ‚αž›αž”αžΆαž“αžαŸ‚αž’αžΆαž“αž“αŸƒαž―αž€αžŸαžΆαžšαž“αžΉαž„αž“αŸ…αžαŸ‚αž˜αžΆαž“ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž₯αž‘αžΌαžœαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž›αžΆαž€αŸ‹αž“αŸ…αž€αŸ’αžšαŸ„αž˜αž…αŸ’αž”αžΆαž”αŸ‹αž…αž˜αŸ’αž›αž„αŸ” αž”αžšαž·αž˜αžΆαžŽαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™ αžŠαŸ„αž™αž˜αž·αž“αž‚αž·αžαž–αžΈαžœαžŠαŸ’αžαž‡αžΈαžœαž·αžαžšαž”αžŸαŸ‹αž€αž»αž„αžαžΊαž“αŸαžšαŸ” αž”αžšαž·αž˜αžΆαžŽαžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž€αž»αž„αžαžΊαž“αŸαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαŸ”

αžαžΎαžšαžΌαž”αž—αžΆαž–αž—αŸ’αž‡αžΆαž”αŸ‹αž‡αžΆαž˜αž½αž™αž€αž»αž„αžαžΊαž“αŸαžšαž™αŸ‰αžΆαž„αžŠαžΌαž…αž˜αŸ’αžαŸαž…?

αžšαžΌαž”αž—αžΆαž–αŸ” - αž’αžΆαžαž»αžŸαŸ†αžαžΆαž“αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αž»αž„αž“αžΈαž˜αž½αž™αŸ—αŸ” αžšαžΌαž”αž—αžΆαž–αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αž–αžΈ Dockerfile αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ…αž€αŸ’αž“αž»αž„αž‚αž˜αŸ’αžšαŸ„αž„ αž αžΎαž™αž‡αžΆαžŸαŸ†αžŽαž»αŸ†αž“αŸƒαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž―αž€αžŸαžΆαžš (αžŸαŸ’αžšαž‘αžΆαž”αŸ‹) αžŠαŸ‚αž›αžŠαžΆαž€αŸ‹αž“αŸ…αž–αžΈαž›αžΎαž‚αŸ’αž“αžΆ αž“αž·αž„αžŠαžΆαž€αŸ‹αž‡αžΆαž€αŸ’αžšαž»αž˜αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆ αž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ‚αž€αžΆαžšαž’αžΆαž“αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αž…αŸ†αž“αž½αž“αžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž’αžαž·αž”αžšαž˜αžΆαž‚αžΊ 127 αŸ”

αž”αŸαŸ‡αžŠαžΌαž„αž“αŸƒαžšαžΌαž”αž—αžΆαž–αž“αžΈαž˜αž½αž™αŸ—αž‚αžΊαž‡αžΆαžšαžΌαž”αž—αžΆαž–αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“ αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžŠαŸ„αž™αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ FROM - αž…αŸ†αžŽαž»αž…αž…αžΌαž›αž“αŸ…αž–αŸαž›αž”αž„αŸ’αž€αžΎαžαžšαžΌαž”αž—αžΆαž– Dockerfile αŸ” αžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž“αžΈαž˜αž½αž™αŸ—αž‚αžΊαž‡αžΆαžŸαŸ’αžšαž‘αžΆαž”αŸ‹αžŠαŸ‚αž›αž”αžΆαž“αž’αžΆαž“αžαŸ‚αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡ αž αžΎαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αžαŸ†αžŽαžΆαž„αžŠαŸ„αž™αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžαŸ‚αž˜αž½αž™αžŠαŸ‚αž›αž€αŸ‚αž”αŸ’αžšαŸ‚αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž―αž€αžŸαžΆαžš αžŠαŸ‚αž›αžŸαžšαžŸαŸαžšαž€αŸ’αž“αž»αž„ Dockerfile αŸ”
αžŠαžΎαž˜αŸ’αž”αžΈαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž“αžΌαžœαžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž‘αŸ…αž‡αžΆαžšαžΌαž”αž—αžΆαž–αžαŸ‚αž˜αž½αž™ Docker αž”αŸ’αžšαžΎαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž―αž€αžŸαžΆαžš Union αž–αž αž»αžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž€αž˜αŸ’αžšαž·αžαžαŸ’αž–αžŸαŸ‹ (AuFS αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž›αžΎαž€αŸ†αž–αžΌαž›αž“αŸƒ UnionFS) αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž―αž€αžŸαžΆαžš αž“αž·αž„αžαžαž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆαž–αžΈαžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž―αž€αžŸαžΆαžšαž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆαžŠαžΎαž˜αŸ’αž”αžΈαžαŸ’αžšαž½αžαž›αžΎαž‚αŸ’αž“αžΆαžŠαŸ„αž™αžαž˜αŸ’αž›αžΆαž—αžΆαž– αž”αž„αŸ’αž€αžΎαžαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž―αž€αžŸαžΆαžšαžŠαŸ‚αž›αž–αžΆαž€αŸ‹αž–αŸαž“αŸ’αž’αŸ”

αžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž˜αžΆαž“αž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αŸαžαžΆαžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž–αŸαžαŸŒαž˜αžΆαž“αž–αžΆαž€αŸ‹αž–αŸαž“αŸ’αž’αž’αŸ†αž–αžΈαžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž“αžΈαž˜αž½αž™αŸ—αž“αŸ…αž–αŸαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž“αž·αž„αž–αŸαž›αž”αž„αŸ’αž€αžΎαžαŸ” αžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž“αžΈαž˜αž½αž™αŸ—αž˜αžΆαž“αžαŸ†αžŽαž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž”αž“αŸ’αž‘αžΆαž”αŸ‹ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž˜αž·αž“αž˜αžΆαž“αžαŸ†αžŽαž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ αž“αŸ„αŸ‡αž‚αžΊαž‡αžΆαžŸαŸ’αžšαž‘αžΆαž”αŸ‹αžαžΆαž„αž›αžΎαž”αŸ†αž•αž»αžαž€αŸ’αž“αž»αž„αžšαžΌαž”αž—αžΆαž–αŸ”

Dockerfile αž’αžΆαž…αž˜αžΆαž“αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžŠαžΌαž…αž‡αžΆαŸ–

  • αž–αžΈ - αž…αŸ†αžŽαž»αž…αž…αžΌαž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαžšαžΌαž”αž—αžΆαž–;
  • αž’αŸ’αž“αž€αžαŸ‚αž‘αžΆαŸ† - αžˆαŸ’αž˜αŸ„αŸ‡αžšαž”αžŸαŸ‹αž˜αŸ’αž…αžΆαžŸαŸ‹αžšαžΌαž”αž—αžΆαž–;
  • αžšαžαŸ‹ - αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž€αŸ†αž‘αž»αž„αž–αŸαž›αžŠαŸ†αž‘αžΎαž„αžšαžΌαž”αž—αžΆαž–;
  • αž”αž“αŸ’αžαŸ‚αž˜ - αž€αžΆαžšαž…αž˜αŸ’αž›αž„αž―αž€αžŸαžΆαžšαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž‘αŸ…αžšαžΌαž”αž—αžΆαž–αžαŸ’αž˜αžΈ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž―αž€αžŸαžΆαžš URL αž“αŸ„αŸ‡ Docker αž“αžΉαž„αž‘αžΆαž‰αž™αž€αžœαžΆαž‘αŸ…αžαžαžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αŸ”
  • ENV - αž’αžαŸαžšαž”αžšαž·αžŸαŸ’αžαžΆαž“;
  • CMD - αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž’αž»αž„αžαŸ’αž˜αžΈαžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαžšαžΌαž”αž—αžΆαž–;
  • ENTRYPOINT - αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž€αž»αž„αžαžΊαž“αŸαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αŸ”
  • WORKDIR αž‚αžΊαž‡αžΆαžαžαž€αžΆαžšαž„αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ CMD αŸ”
  • USER - αž€αŸ†αžŽαžαŸ‹ UID αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž»αž„αžαžΊαž“αŸαžšαžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž–αžΈαžšαžΌαž”αž—αžΆαž–αŸ”
  • αž€αž˜αŸ’αžšαž·αžαžŸαŸ†αž‘αŸαž„ - αžŠαŸ†αž‘αžΎαž„αžαžαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž‘αŸ…αž€αž»αž„αžαžΊαž“αŸαžšαŸ”
  • EXPOSE αž‚αžΊαž‡αžΆαžŸαŸ†αžŽαž»αŸ†αž“αŸƒαž…αŸ’αžšαž€αžŠαŸ‚αž›αž”αžΆαž“αžŸαŸ’αžαžΆαž”αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž»αž„αžαžΊαž“αŸαžšαŸ”

តើ UnionFS αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž™αŸ‰αžΆαž„αžŠαžΌαž…αž˜αŸ’αžαŸαž…?

UnionFS - αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž―αž€αžŸαžΆαžšαž‡αž„αŸ‹αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ (FS) αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž›αžΈαž“αž»αž… αž“αž·αž„ FreeBSD αŸ” FS αž“αŸαŸ‡αž’αž“αž»αžœαžαŸ’αžαž™αž“αŸ’αžαž€αžΆαžšαž…αž˜αŸ’αž›αž„αž›αžΎαž€αžΆαžšαžŸαžšαžŸαŸαžš (Copy-On-Write, COW) αŸ” αž―αž€αžαžΆαž€αžΆαžšαž„αžΆαžšαžšαž”αžŸαŸ‹ UnionFS αž‚αžΊαž‡αžΆαžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž˜αž½αž™ αžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž“αžΈαž˜αž½αž™αŸ—αž‚αž½αžšαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αžΆαžαŸ‹αž‘αž»αž€αžαžΆαž‡αžΆαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž―αž€αžŸαžΆαžšαž–αŸαž‰αž›αŸαž‰αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αžŠαŸ‚αž›αž˜αžΆαž“αž‹αžΆαž“αžΆαž“αž»αž€αŸ’αžšαž˜αžαžαž–αžΈαž«αžŸαžαŸ’αž›αž½αž“αžœαžΆαŸ” UnionFS αž”αž„αŸ’αž€αžΎαž union mount αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž―αž€αžŸαžΆαžšαž•αŸ’αžŸαŸαž„αž‘αŸ€αž αž αžΎαž™αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž”αž‰αŸ’αž…αžΌαž›αž―αž€αžŸαžΆαžš αž“αž·αž„αžαžαžŠαŸ‚αž›αž˜αžΆαž“αžαž˜αŸ’αž›αžΆαž—αžΆαž–αž–αžΈαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž―αž€αžŸαžΆαžšαž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆ (αž αŸ…αžαžΆαžŸαžΆαžαžΆ) αž‘αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž―αž€αžŸαžΆαžšαž—αŸ’αž‡αžΆαž”αŸ‹αžαŸ‚αž˜αž½αž™ αž”αŸ’αžšαž€αž”αžŠαŸ„αž™αžαž˜αŸ’αž›αžΆαž—αžΆαž–αž…αŸ†αž–αŸ„αŸ‡αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αŸ”

αž˜αžΆαžαž·αž€αžΆαž“αŸƒαžαžαžŠαŸ‚αž›αž˜αžΆαž“αž•αŸ’αž›αžΌαžœαžŠαžΌαž…αž‚αŸ’αž“αžΆαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αžšαž½αž˜αž‚αŸ’αž“αžΆαž“αŸ…αž€αŸ’αž“αž»αž„αžαžαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž˜αž½αž™ (αž€αŸ’αž“αž»αž„αž…αž“αŸ’αž›αŸ„αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡αžŠαžΌαž…αž‚αŸ’αž“αžΆ) αž“αŸƒαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž―αž€αžŸαžΆαžšαž›αž‘αŸ’αž’αž•αž›αŸ”

UnionFS αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž“αžΌαžœαžŸαŸ’αžšαž‘αžΆαž”αŸ‹αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž‚αŸ„αž›αž€αžΆαžšαžŽαŸαžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸˆ

  • αžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž˜αž½αž™αž€αŸ’αž›αžΆαž™αž‡αžΆαžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž€αŸ†αž–αžΌαž› αžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž‘αžΈαž–αžΈαžš αž“αž·αž„αž”αž“αŸ’αžαž”αž“αŸ’αž‘αžΆαž”αŸ‹αž€αŸ’αž›αžΆαž™αž‡αžΆαžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž‘αžΆαž”αŸ”
  • αžœαžαŸ’αžαž»αžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž’αžΆαž…αž…αžΌαž›αž”αŸ’αžšαžΎαž”αžΆαž“αžŠαŸ„αž™αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ "αž–αžΈαž€αŸ†αž–αžΌαž›αž‘αŸ…αž”αžΆαž" αž–αŸ„αž›αž‚αžΊαž§αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžœαžαŸ’αžαž»αžŠαŸ‚αž›αž”αžΆαž“αžŸαŸ’αž“αžΎαžŸαž»αŸ†αžŸαŸ’αžαž·αžαž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αžšαž‘αžΆαž”αŸ‹ "αžαžΆαž„αž›αžΎ" αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΌαž“αž˜αž€αžœαž·αž‰αžŠαŸ„αž™αž˜αž·αž“αž‚αž·αžαž–αžΈαžœαžαŸ’αžαž˜αžΆαž“αžšαž”αžŸαŸ‹αžœαžαŸ’αžαž»αžŠαŸ‚αž›αž˜αžΆαž“αžˆαŸ’αž˜αŸ„αŸ‡αžŠαžΌαž…αž‚αŸ’αž“αžΆαž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αžšαž‘αžΆαž”αŸ‹ "αž‘αžΆαž”" αŸ” αž”αžΎαž˜αž·αž“αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž‘αŸ αžœαžαŸ’αžαž»αžŸαŸ’αžšαž‘αžΆαž”αŸ‹ "αž”αžΆαž" αžαŸ’αžšαžΌαžœαž”αžΆαž“αžαŸ’αžšαž‘αž”αŸ‹αž˜αž€αžœαž·αž‰αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžœαžαŸ’αžαž»αžŠαŸ‚αž›αž”αžΆαž“αžŸαŸ’αž“αžΎαžŸαž»αŸ†αž˜αž·αž“αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡ αž¬αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡ αž€αŸ†αž αž»αžŸ "αž‚αŸ’αž˜αžΆαž“αž―αž€αžŸαžΆαžš αž¬αžαžαž―αž€αžŸαžΆαžšαž”αŸ‚αž”αž“αŸαŸ‡" αžαŸ’αžšαžΌαžœαž”αžΆαž“αžαŸ’αžšαž‘αž”αŸ‹αž˜αž€αžœαž·αž‰αŸ”
  • αžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž’αŸ’αžœαžΎαž€αžΆαžšαž‚αžΊαž‡αžΆ "αž€αŸ†αž–αžΌαž›" αž–αŸ„αž›αž‚αžΊαžšαžΆαž›αŸ‹αžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž†αŸ’αž›αž»αŸ‡αž”αž‰αŸ’αž…αžΆαŸ†αž„αžαŸ‚αž“αŸ…αž›αžΎαžŸαŸ’αžšαž‘αžΆαž”αŸ‹αžαžΆαž„αž›αžΎαž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡ αžŠαŸ„αž™αž˜αž·αž“αž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αžŠαž›αŸ‹αžαŸ’αž›αžΉαž˜αžŸαžΆαžšαž“αŸƒαžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž€αž˜αŸ’αžšαž·αžαž‘αžΆαž”αž“αŸ„αŸ‡αž‘αŸαŸ”

Docker αž‚αžΊαž‡αžΆαž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆαž‘αžΌαž‘αŸ…αž”αŸ†αž•αž»αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αž»αž„αžαžΊαž“αŸαžšαž€αŸ’αž“αž»αž„αž€αžΆαžšαž„αžΆαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαŸ” αžœαžΆαž”αžΆαž“αž€αŸ’αž›αžΆαž™αž‡αžΆαžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„αžαŸ†αž”αž“αŸ‹αž“αŸαŸ‡ αžŠαŸ„αž™αž”αž„αŸ’αž€αžΎαžαž“αŸ…αž›αžΎ cgroups αž“αž·αž„ namespaces αžŠαŸ‚αž›αž•αŸ’αžαž›αŸ‹αžŠαŸ„αž™αžαžΊαžŽαŸ‚αž›αž›αžΈαž“αž»αž…αŸ”

Docker αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž™αžΎαž„αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸ αž“αž·αž„αž’αŸ’αžœαžΎαž±αŸ’αž™αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž―αž€αžŸαžΆαžšαž›αŸ’αž’αž”αŸ†αž•αž»αžαžŠαŸ„αž™αž€αžΆαžšαž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αžαžΊαžŽαŸ‚αž› OS αžšαžœαžΆαž„αž€αž»αž„αžαžΊαž“αŸαžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹ αžŠαŸ„αž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‡αžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αŸ”

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹