Informace o aktualizacích základních imagí pro ACR Tasks
Tento článek obsahuje základní informace o aktualizacích základní image aplikace a o tom, jak tyto aktualizace můžou aktivovat úlohu služby Azure Container Registry.
Co jsou základní image?
Soubory Dockerfile definující většinu imagí kontejneru určují nadřazenou image, ze které je image založena, často označovanou jako její základní image. Základní image obvykle obsahují operační systém, například Alpine Linux nebo Windows Nano Server, na kterém se použijí zbývající vrstvy kontejneru. Můžou také obsahovat architektury aplikace, jako je třeba Node.js nebo .NET Core. Tyto základní image jsou obvykle založené na veřejných upstreamových imagích. Několik imagí aplikací může sdílet společnou základní image.
Základní image často aktualizuje maintainer image, aby zahrnovala nové funkce nebo vylepšení operačního systému nebo architektury v imagi. Dalším běžným důvodem pro aktualizaci základní image jsou opravy zabezpečení. Pokud dojde k těmto upstreamových aktualizacím, musíte také aktualizovat základní image tak, aby zahrnovaly kritickou opravu. Každá image aplikace se pak musí znovu vytvořit, aby zahrnovala tyto upstreamové opravy, které jsou teď součástí základní image.
V některých případech, například soukromý vývojový tým, může základní image určovat více než operační systém nebo architekturu. Základní image může být například image komponenty sdílené služby, kterou je potřeba sledovat. Členové týmu mohou potřebovat sledovat tuto základní image pro testování nebo při vývoji imagí aplikací pravidelně aktualizovat image.
Údržba kopií základních imagí
Pro veškerý obsah ve vašich registrech, který závisí na základním obsahu spravovaném ve veřejném registru, jako je Docker Hub, doporučujeme zkopírovat obsah do registru kontejneru Azure nebo jiného privátního registru. Potom se ujistěte, že vytváříte image aplikací odkazováním na privátní základní image. Azure Container Registry poskytuje funkci importu imagí , která umožňuje snadno kopírovat obsah z veřejných registrů nebo jiných registrů kontejnerů Azure. Další část popisuje použití ACR Tasks ke sledování aktualizací základních imagí při sestavování aktualizací aplikací. Aktualizace základních imagí můžete sledovat ve vlastních registrech kontejnerů Azure a volitelně i v upstreamových veřejných registrech.
Sledování aktualizací základní image
ACR Tasks zahrnuje možnost, která za vás při aktualizaci základní image kontejnerů automaticky tyto image sestaví. Tuto možnost můžete použít k údržbě a aktualizaci kopií veřejných základních imagí v registrech kontejnerů Azure a následnému opětovnému sestavení imagí aplikací, které závisí na základních imagích.
ACR Tasks dynamicky zjišťuje závislosti základní image při sestavení image kontejneru. V důsledku toho může zjistit, kdy se základní image aplikace aktualizuje. Díky jedné předkonfigurované úloze sestavení můžou ACR Tasks automaticky znovu sestavit každou image aplikace, která odkazuje na základní image. Díky této automatické detekci a opětovnému sestavení vám ACR Tasks ušetří čas a úsilí, které se obvykle vyžaduje ke ručnímu sledování a aktualizaci každé image aplikace odkazující na aktualizovanou základní image.
Umístění základních imagí
V případě sestavení image ze souboru Dockerfile úloha ACR detekuje závislosti na základních imagích v následujících umístěních:
- Stejný registr kontejnerů Azure, ve kterém se úloha spouští
- Jiný privátní registr kontejnerů Azure ve stejné nebo jiné oblasti
- Veřejné úložiště v Docker Hubu
- Veřejné úložiště ve službě Microsoft Container Registry
Pokud se základní image zadaná v příkazu nachází v FROM
jednom z těchto umístění, úloha ACR přidá háček, aby se zajistilo, že image bude znovu sestavena při každé aktualizaci základu.
Oznámení základních imagí
Doba mezi aktualizací základní image a aktivací závislé úlohy závisí na umístění základní image:
- Základní image z veřejného úložiště v Docker Hubu nebo MCR – Pro základní image ve veřejných úložištích úloha ACR kontroluje aktualizace imagí v náhodném intervalu mezi 10 a 60 minutami. Závislé úlohy se spouští odpovídajícím způsobem.
- Základní image z registru kontejneru Azure – U základních imagí v registrech kontejnerů Azure úloha ACR okamžitě aktivuje spuštění při aktualizaci základní image. Základní image může být ve stejné službě ACR, ve které se úloha spouští nebo v jiné oblasti ACR.
Další důležité informace
Základní image pro image aplikací – V současné době úloha ACR sleduje pouze aktualizace základních imagí pro image aplikace (runtime). Nesleduje aktualizace základních imagí pro zprostředkující image (buildtime) používané ve vícefázových souborech Dockerfile.
Povoleno ve výchozím nastavení – Když vytvoříte úlohu ACR pomocí příkazu az acr task create , ve výchozím nastavení je úloha povolena pro aktivaci aktualizací základní image. To znamená, že
base-image-trigger-enabled
vlastnost je nastavena na True. Pokud chcete toto chování v úloze zakázat, aktualizujte vlastnost na False. Spusťte například následující příkaz az acr task update :az acr task update --registry myregistry --name mytask --base-image-trigger-enabled False
Trigger pro sledování závislostí – Pokud chcete úlohu ACR povolit k určení a sledování závislostí image kontejneru – včetně její základní image – musíte nejprve aktivovat úlohu, aby se image sestavila alespoň jednou. Například úlohu aktivujte ručně pomocí příkazu az acr task run .
Stabilní značka základní image – k aktivaci úlohy při aktualizaci základní image musí mít základní image stabilní značku, například
node:9-alpine
. Toto označování je typické pro základní image, která se aktualizuje opravami operačního systému a architektury na nejnovější stabilní verzi. Pokud se základní image aktualizuje značkou nové verze, neaktivuje úlohu. Další informace o označování obrázků najdete v pokynech k osvědčeným postupům.Jiné triggery úkolů – V úkolu aktivované aktualizacemi základní image můžete také povolit triggery na základě potvrzení zdrojového kódu nebo plánu. Aktualizace základní image může také aktivovat vícekrokový úkol.
Další kroky
V následujících kurzech najdete scénáře automatizace sestavení imagí aplikací po aktualizaci základní image: