αžšαž”αŸ€αž”αž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αž–αžΆαžŽαž·αž‡αŸ’αž‡αž€αž˜αŸ’αž˜ Docker αžŠαžΎαž˜αŸ’αž”αžΈαž”αž˜αŸ’αžšαžΎαž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžšαžΆαž”αŸ‹αž›αžΆαž“αž“αžΆαž€αŸ‹ αž•αŸ’αž“αŸ‚αž€αž‘αžΈ 2αŸ– αž‘αž·αž“αŸ’αž“αž“αŸαž™αž€αŸ’αžšαŸ…αž”αŸ’αžšαž‘αŸαžŸ

αžšαž”αŸ€αž”αž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αž–αžΆαžŽαž·αž‡αŸ’αž‡αž€αž˜αŸ’αž˜ Docker αžŠαžΎαž˜αŸ’αž”αžΈαž”αž˜αŸ’αžšαžΎαž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžšαžΆαž”αŸ‹αž›αžΆαž“αž“αžΆαž€αŸ‹ αž•αŸ’αž“αŸ‚αž€αž‘αžΈ 2αŸ– αž‘αž·αž“αŸ’αž“αž“αŸαž™αž€αŸ’αžšαŸ…αž”αŸ’αžšαž‘αŸαžŸ

αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž’αžαŸ’αžαž”αž‘αž‘αžΈαž–αžΈαžšαž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸŠαŸαžšαžΈαž“αŸƒαž’αžαŸ’αžαž”αž‘αžŠαŸ‚αž›αž“αžΉαž„αž‚αŸ’αžšαž”αžŠαžŽαŸ’αžαž”αŸ‹αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αž“αŸ…αž–αŸαž›αž‘αžΆαž‰αž™αž€αžšαžΌαž”αž—αžΆαž–αž€αž»αž„αžαžΊαž“αŸαžšαŸ”

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

αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αž”αŸ’αžšαŸαž€αž„αŸ‹αž‘αžΆαž‰αž™αž€αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαž€αžΆαžŸαž–αžΈαž˜αž»αž“αž“αŸ…αž€αŸ’αž“αž»αž„αžšαž”αžŸαŸ‹αž™αžΎαž„αŸ” αž›αž€αŸ’αžαžαžŽαŸ’αžŒβ€‹αž“αŸƒβ€‹αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜. αž™αžΎαž„αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž±αŸ’αž™αž”αžΆαž“αžŠαž·αžαžŠαž›αŸ‹αž“αžΌαžœαžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αž”αŸ’αžšαŸαž€αž„αŸ‹αžŠαŸ‚αž›αž“αžΉαž„αž…αžΌαž›αž‡αžΆαž’αžšαž˜αžΆαž“αž“αŸ…αžαŸ’αž„αŸƒαž‘αžΈ 1 αžαŸ‚αžœαž·αž…αŸ’αž†αž·αž€αžΆ αž†αŸ’αž“αžΆαŸ† 2020αŸ–

αž‚αž˜αŸ’αžšαŸ„αž„αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž“αžΆαž˜αž·αž€αŸ– αž‘αžΆαž‰αž™αž€ 100 αžŠαž„αž€αŸ’αž“αž»αž„αžšαž™αŸˆαž–αŸαž› 6 αž˜αŸ‰αŸ„αž„αŸ”
αž‚αž˜αŸ’αžšαŸ„αž„αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αž€αžΆαžšαž’αž“αž»αž‰αŸ’αž‰αžΆαžαŸ– αž‘αžΆαž‰αž™αž€ 200 αžŠαž„αž€αŸ’αž“αž»αž„αžšαž™αŸˆαž–αŸαž› 6 αž˜αŸ‰αŸ„αž„αŸ”
αž‚αž˜αŸ’αžšαŸ„αž„αž‚αžΆαŸ†αž‘αŸ’αžšαŸ– αž‚αŸ’αž˜αžΆαž“αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹
αž•αŸ‚αž“αž€αžΆαžšαž€αŸ’αžšαž»αž˜αŸ– αž‚αŸ’αž˜αžΆαž“αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹

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

NB αž’αŸ’αž“αž€αž“αžΉαž„αž‘αž‘αž½αž›αž”αžΆαž“ subtleties αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αž αž“αž·αž„αž€αžšαžŽαžΈαž’αž“αž»αžœαžαŸ’αžαž›αŸ’αž’αž”αŸ†αž•αž»αž αž“αŸ…αž›αžΎαžœαž‚αŸ’αž‚αžŸαž·αž€αŸ’αžŸαžΆ Docker αž–αžΈαž’αŸ’αž“αž€αž’αž“αž»αžœαžαŸ’αž. αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ…αž‘αŸ€αž αž’αŸ’αž“αž€αž’αžΆαž…αž†αŸ’αž›αž„αž€αžΆαžαŸ‹αžœαžΆαž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αžœαžΆαž„αžΆαž™αžŸαŸ’αžšαž½αž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€ - αž‘αžΆαŸ†αž„αž–αŸαž›αžœαŸαž›αžΆ αž“αž·αž„αž€αŸ’αž“αž»αž„αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαŸ”

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

αž€αžΆαžšαžœαž·αž—αžΆαž‚αž›αž˜αŸ’αž’αž·αžαž“αŸƒαž”αŸ’αžšαŸαž€αž„αŸ‹αž‘αžΆαž‰αž™αž€αžšαžΌαž”αž—αžΆαž– Docker Hub

αž™αžΎαž„αž”αžΆαž“αž…αŸ†αžŽαžΆαž™αž–αŸαž›αž…αŸ’αžšαžΎαž“αž€αŸ’αž“αž»αž„αž€αžΆαžšαžœαž·αž—αžΆαž‚αž›αžΎαž€αžΆαžšαž‘αžΆαž‰αž™αž€αžšαžΌαž”αž—αžΆαž–αž–αžΈ Docker Hub αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ†αžŽαžαŸ‹αž–αžΈαž˜αžΌαž›αž αŸαžαž»αž“αŸƒαžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αž›αŸ’αž”αžΏαž“ αž€αŸαžŠαžΌαž…αž‡αžΆαžšαž”αŸ€αž”αž€αŸ†αžŽαžαŸ‹αžœαžΆαž™αŸ‰αžΆαž„αž…αŸ’αž”αžΆαžŸαŸ‹αž›αžΆαžŸαŸ‹αŸ” αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž”αžΆαž“β€‹αžƒαžΎαž‰β€‹αž”αžΆαž“β€‹αž”αž‰αŸ’αž‡αžΆαž€αŸ‹β€‹αžαžΆβ€‹αž’αŸ’αž“αž€β€‹αž”αŸ’αžšαžΎβ€‹αžŸαŸ’αž‘αžΎαžšαžαŸ‚β€‹αž‘αžΆαŸ†αž„αž’αžŸαŸ‹β€‹αž€αŸ†αž–αž»αž„β€‹αž‘αžΆαž‰β€‹αž™αž€β€‹αžšαžΌαž”αž—αžΆαž–β€‹αž€αŸ’αž“αž»αž„β€‹αž’αžαŸ’αžšαžΆβ€‹αžŠαŸ‚αž›β€‹αž’αžΆαž…β€‹αž–αŸ’αž™αžΆαž€αžšαžŽαŸβ€‹αž”αžΆαž“β€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž›αŸ†αž αžΌαžšβ€‹αž€αžΆαžšαž„αžΆαžšβ€‹αž’αž˜αŸ’αž˜αžαžΆαŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž˜αžΆαž“αž₯αž‘αŸ’αž’αž·αž–αž›αž‚αž½αžšαž±αŸ’αž™αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž“αŸƒαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž“αžΆαž˜αž·αž€αž˜αž½αž™αž…αŸ†αž“αž½αž“αžαžΌαž… αž§αž‘αžΆαž αžšαžŽαŸ αž”αŸ’αžšαž αŸ‚αž› 30% αž“αŸƒαž€αžΆαžšαž‘αžΆαž‰αž™αž€αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž”αžΆαž“αž˜αž€αž–αžΈαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž“αžΆαž˜αž·αž€αžαŸ’αžšαžΉαž˜αžαŸ‚ 1% αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ”

αžšαž”αŸ€αž”αž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αž–αžΆαžŽαž·αž‡αŸ’αž‡αž€αž˜αŸ’αž˜ Docker αžŠαžΎαž˜αŸ’αž”αžΈαž”αž˜αŸ’αžšαžΎαž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžšαžΆαž”αŸ‹αž›αžΆαž“αž“αžΆαž€αŸ‹ αž•αŸ’αž“αŸ‚αž€αž‘αžΈ 2αŸ– αž‘αž·αž“αŸ’αž“αž“αŸαž™αž€αŸ’αžšαŸ…αž”αŸ’αžšαž‘αŸαžŸ

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

αž‡αž½αž™αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž±αŸ’αž™αž™αž›αŸ‹αž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αž”αžΆαžŸαŸ‹αž’αŸ†αž–αžΈαžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αž”αŸ’αžšαŸαž€αž„αŸ‹αž‘αžΆαž‰αž™αž€

αž₯αž‘αžΌαžœαž“αŸαŸ‡αž™αžΎαž„αž”αžΆαž“αž™αž›αŸ‹αž–αžΈαž•αž›αž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹ αž“αž·αž„αž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αž–αŸ’αžšαŸ†αžŠαŸ‚αž“αž‚αž½αžšαžαŸ‚αžŸαŸ’αžαž·αžαž“αŸ… αž™αžΎαž„αžαŸ’αžšαžΌαžœαž€αŸ†αžŽαžαŸ‹αž›αž€αŸ’αžαžαžŽαŸ’αžŒαž”αž…αŸ’αž…αŸαž€αž‘αŸαžŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž“αŸƒαž€αžΆαžšαžšαžΉαžαž”αž“αŸ’αžαžΉαž„αž‘αžΆαŸ†αž„αž“αŸαŸ‡αŸ” αž€αžΆαžšαžšαžΉαžαž”αž“αŸ’αžαžΉαž„αž€αžΆαžšαž‘αžΆαž‰αž™αž€αžšαžΌαž”αž—αžΆαž–αž–αžΈαž”αž‰αŸ’αž‡αžΈαžˆαŸ’αž˜αŸ„αŸ‡ Docker αž‚αžΊαž–αž·αž”αžΆαž€αžŽαžΆαžŸαŸ‹αŸ” αž’αŸ’αž“αž€αž“αžΉαž„αž˜αž·αž“αž’αžΆαž…αžšαž€αžƒαžΎαž‰ API αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž‘αžΆαž‰αž™αž€αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž–αž·αž–αžŽαŸŒαž“αžΆαž”αž‰αŸ’αž‡αžΈαžˆαŸ’αž˜αŸ„αŸ‡αž‘αŸ - αžœαžΆαž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž˜αž·αž“αž˜αžΆαž“αŸ” αž‡αžΆαž€αžΆαžšαž–αž·αž αž€αžΆαžšαž‘αžΆαž‰αž™αž€αžšαžΌαž”αž—αžΆαž–αž‚αžΊαž‡αžΆαž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž“αŸƒαžŸαŸ†αžŽαžΎ manifest αž“αž·αž„ blobs αž“αŸ…αž€αŸ’αž“αž»αž„ API αž αžΎαž™αž–αž½αž€αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αžαž»αžŸαž‚αŸ’αž“αžΆ αž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαžŸαŸ’αžαžΆαž“αž—αžΆαž–αž“αŸƒ αž’αžαž·αžαž·αž‡αž“ αž“αž·αž„αžšαžΌαž”αž—αžΆαž–αžŠαŸ‚αž›αž”αžΆαž“αžŸαŸ’αž“αžΎαžŸαž»αŸ†αŸ”

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

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

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

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

αž‘αž“αŸ’αž‘αžΉαž„αžšαž„αŸ‹αž…αžΆαŸ†αž˜αžαž·αž€αŸ‚αž›αž˜αŸ’αž’αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”

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

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

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

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž–αŸαžαŸŒαž˜αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž’αŸ†αž–αžΈαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž…αž»αž„αž€αŸ’αžšαŸ„αž™αž”αŸ†αž•αž»αžαž…αŸ†αž–αŸ„αŸ‡αž›αž€αŸ’αžαžαžŽαŸ’αžŒαž“αŸƒαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ αžŸαžΌαž˜αž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹ αžŸαŸ†αžŽαž½αžšαž‰αžΉαž€αž‰αžΆαž”αŸ‹.

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

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

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