Tsopano mutha kupanga zithunzi za Docker mu werf pogwiritsa ntchito Dockerfile wamba
Kuliko mochedwa kuposa kale. Kapena momwe tidatsala pang'ono kulakwitsa kwambiri posakhala ndi chithandizo cha ma Dockerfiles okhazikika kuti apange zithunzi zamapulogalamu.
Tikambirana werf - Chida cha GitOps chomwe chimalumikizana ndi makina aliwonse a CI/CD ndikupereka kasamalidwe ka moyo wonse wogwiritsa ntchito, kulola:
Lingaliro la pulojekitiyi ndikusonkhanitsa zida zotsika kukhala dongosolo limodzi logwirizana lomwe limapatsa mainjiniya a DevOps kuyang'anira ntchito. Ngati ndi kotheka, zida zomwe zilipo (monga Helm ndi Docker) ziyenera kugwiritsidwa ntchito. Ngati palibe njira yothetsera vuto, tikhoza kupanga ndi kuthandizira zonse zofunika pa izi.
Zoyambira: chojambulira zithunzi zanu
Izi ndi zomwe zidachitika ndi wosonkhanitsa zithunzi mu werf: Dockerfile wamba sizinali zokwanira kwa ife. Mukayang'ana mwachangu mbiri ya polojekitiyi, vutoli lidawonekera kale m'matembenuzidwe oyamba a werf (ndiye wotchedwa dapp).
Pomwe tikupanga chida chomangira mapulogalamu muzithunzi za Docker, tidazindikira mwachangu kuti Dockerfile sinali yoyenera kwa ife pantchito zina zapadera:
Kufunika kopanga mapulogalamu ang'onoang'ono apa intaneti molingana ndi dongosolo ili:
kukhazikitsa zodalira pa system-wide application,
kukhazikitsa mtolo wa malaibulale odalira ntchito,
sonkhanitsa katundu,
ndipo chofunika kwambiri, sinthani kachidindo mu fano mwamsanga komanso moyenera.
Pomaliza, imathandiziranso kudutsa magawo ena omanga, monga --build-arg ΠΈ --add-host - kudzera pa werf config. Kufotokozera kwathunthu kwa kasinthidwe kazithunzi za Dockerfile kulipo zolembedwa tsamba.
Kodi ntchito?
Panthawi yomanga, chosungira chokhazikika cha zigawo zakomweko mu Docker zimagwira ntchito. Komabe, chofunikira ndikuti werf nawonso imaphatikiza kasinthidwe ka Dockerfile muzomangamanga zake. Kodi izi zikutanthauza chiyani?
Chithunzi chilichonse chopangidwa kuchokera ku Dockerfile chimakhala ndi gawo limodzi lotchedwa dockerfile (mutha kuwerenga zambiri za magawo omwe ali mu werf apa).
Kwa siteji dockerfile werf amawerengera siginecha yomwe imadalira zomwe zili mu Dockerfile kasinthidwe. Kusintha kwa Dockerfile kukasintha, siginecha ya siteji imasintha dockerfile ndipo werf imayambitsa kumangidwanso kwa gawoli ndi Dockerfile config. Ngati siginecha sikusintha, ndiye kuti werf amatenga chithunzicho kuchokera ku cache (zambiri zakugwiritsa ntchito siginecha mu werf zidafotokozedwa mu lipoti ili).
Kenako, zithunzi zosonkhanitsidwa zitha kusindikizidwa ndi lamulo werf publish (kapena werf build-and-publish) ndikuigwiritsa ntchito kuti itumizidwe ku Kubernetes. Zithunzi zosindikizidwa ku Docker Registry zidzatsukidwa pogwiritsa ntchito zida zoyeretsera werf, mwachitsanzo. Zithunzi zakale (zakale kuposa masiku a N), zithunzi zolumikizidwa ndi nthambi za Git zomwe palibe, ndi mfundo zina zidzayeretsedwa zokha.
Zambiri zokhudzana ndi mfundo zomwe zafotokozedwa apa zitha kupezeka muzolemba: