Kugwiritsa ntchito ma docker masitepe angapo kuti mupange zithunzi za windows
Moni nonse! Dzina langa ndine Andrey, ndipo ndimagwira ntchito ngati injiniya wa DevOps ku Exness mu gulu lachitukuko. Ntchito yanga yayikulu ndikumanga, kutumiza ndikuthandizira mapulogalamu mu docker pansi pa Linux opaleshoni system (yomwe imatchedwa OS). Osati kale kwambiri ndinali ndi ntchito yofanana ndi zomwezo, koma cholinga cha OS cha polojekitiyi chinali Windows Server ndi seti ya mapulojekiti a C ++. Kwa ine, uku kunali kuyanjana koyamba kwapafupi ndi zotengera za docker pansi pa Windows OS ndipo, makamaka, ndi mapulogalamu a C ++. Chifukwa cha izi, ndidakhala ndi zokumana nazo zosangalatsa ndipo ndidaphunzira za zovuta zina pakuyika mapulogalamu mu Windows.
Kampaniyo ili ndi zida zomwe zilipo za oimba nyimbo za Hashicorp Nomad ndi zina zofananira - Consul ndi Vault. Chifukwa chake, zotengera zogwiritsira ntchito zidasankhidwa ngati njira imodzi yoperekera yankho lathunthu. Popeza kuti zomangamanga za polojekitiyi zili ndi makamu a docker omwe ali ndi Windows Server Core OS versions 1803 ndi 1809, m'pofunika kupanga mitundu yosiyana ya zithunzi za docker za 1803 ndi 1809. iyenera kufanana ndi nambala yosinthidwa ya chithunzi choyambira ndi wolandila pomwe chidebe chochokera pachithunzichi chidzakhazikitsidwa. Version 1803 alibe drawback wotere. Mutha kuwerenga zambiri apa.
Chifukwa chiyani masitepe ambiri?
Mainjiniya amagulu achitukuko alibe kapena mwayi wocheperako womanga makamu; palibe njira yoyendetsera mwachangu magawo azinthu zopangira pulogalamu pa makamu awa, mwachitsanzo, kukhazikitsa zida zowonjezera kapena kuchuluka kwa ntchito kwa Visual Studio. Chifukwa chake, tidapanga chisankho chokhazikitsa zida zonse zofunika kuti tipange pulogalamuyi kukhala chithunzi cha Docker. Ngati ndi kotheka, mutha kusintha mwachangu fayilo ya docker ndikuyambitsa payipi yopangira chithunzichi.
Kuchokera ku chiphunzitso kupita ku zochita
Pamapangidwe abwino a Docker okhala ndi magawo angapo, malo opangira pulogalamuyi amakonzedwa muzolemba zomwezo za Dockerfile momwe pulogalamuyo imapangidwira. Koma kwa ife, ulalo wapakatikati udawonjezedwa, ndiye, sitepe yoyambira kupanga chithunzi cha docker ndi chilichonse chofunikira kupanga pulogalamuyi. Izi zidachitika chifukwa ndimafuna kugwiritsa ntchito chosungira cha docker kuti ndichepetse nthawi yoyika zodalira zonse.
Tiyeni tiwone mfundo zazikulu za dockerfile script popanga chithunzichi.
Kuti mupange zithunzi zamitundu yosiyanasiyana ya OS, mutha kufotokozera mkangano mu dockerfile momwe nambala yamtunduwu imadutsa pakumanga, komanso ndi chizindikiro cha chithunzi choyambira.
Mndandanda wathunthu wama tag azithunzi a Microsoft Windows Server angapezeke apa.
ARG WINDOWS_OS_VERSION=1809
FROM mcr.microsoft.com/windows/servercore:$WINDOWS_OS_VERSION
Mwa kusakhulupirika malamulo mu malangizo RUN mkati mwa dockerfile pa Windows OS amachitidwa mu cmd.exe console. Kuti zitheke kulemba zolemba ndikukulitsa magwiridwe antchito a malamulo omwe agwiritsidwa ntchito, tidzafotokozeranso cholumikizira chotsatira mu Powershell kudzera mu malangizo. SHELL.
Kenako, timayika malo opangira mapulogalamu, omwe ndi, MS Build Tools 2019 - iyi ndi mtundu wopepuka wa Visual Studio 2019, womwe uli ndi magawo ochepa omwe amafunikira kuti apange ma code.
Kuti tigwire ntchito mokwanira ndi C ++ yathu, tidzafunika zigawo zina, zomwe ndi:
M'nkhaniyi, ndidalankhula za momwe mungapangire malo ophatikizira amtundu wa C ++ mkati mwa chidebe pansi pa Windows komanso momwe mungagwiritsire ntchito luso la docker multistage builds kuti mupange zithunzi zonse za pulogalamu yathu.