Uzamknutí image kontejneru v registru kontejneru Azure
Ve službě Azure Container Registry můžete uzamknout verzi image nebo úložiště, aby ho nebylo možné odstranit nebo aktualizovat. Pokud chcete uzamknout image nebo úložiště, aktualizujte jeho atributy pomocí příkazu Azure CLI az acr repository update.
Tento článek vyžaduje, abyste spustili Azure CLI v Azure Cloud Shellu nebo místně (doporučuje se verze 2.0.55 nebo novější). Verzi zjistíte spuštěním příkazu az --version
. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.
Důležité
Tento článek se nevztahuje na uzamčení celého registru, například pomocí zámků nastavení > na webu Azure Portal nebo az lock
příkazů v Azure CLI. Uzamčení prostředku registru vám nebrání v vytváření, aktualizaci nebo odstraňování dat v úložištích. Uzamčení registru má vliv pouze na operace správy, jako je přidání nebo odstranění replikací nebo odstranění samotného registru. Další informace o uzamčení prostředků, abyste zabránili neočekávaným změnám.
Scénáře
Ve výchozím nastavení je označená image ve službě Azure Container Registry proměnlivá, takže s příslušnými oprávněními můžete opakovaně aktualizovat a odeslat image se stejnou značkou do registru. Image kontejnerů je také možné podle potřeby odstranit . Toto chování je užitečné při vývoji imagí a potřebujete zachovat velikost registru.
Když ale nasadíte image kontejneru do produkčního prostředí, možná budete potřebovat neměnnou image kontejneru. Neměnný obrázek je obrázek, který nemůžete omylem odstranit nebo přepsat.
Viz Doporučení pro označování a správu verzí imagí kontejnerů pro strategie označování a verzí imagí ve vašem registru.
Pomocí příkazu az acr repository update nastavte atributy úložiště, abyste mohli:
Uzamčení verze image nebo celého úložiště
Ochrana verze image nebo úložiště před odstraněním, ale povolit aktualizace
Zabránění operacím čtení (vyžádání) na verzi image nebo celému úložišti
Příklady najdete v následujících částech.
Uzamčení image nebo úložiště
Zobrazení aktuálních atributů úložiště
Pokud chcete zobrazit aktuální atributy úložiště, spusťte následující příkaz az acr repository show :
az acr repository show \
--name myregistry --repository myrepo \
--output jsonc
Zobrazení atributů aktuálního obrázku
Pokud chcete zobrazit aktuální atributy značky, spusťte následující příkaz az acr repository show :
az acr repository show \
--name myregistry --image myrepo:tag \
--output jsonc
Uzamknutí obrázku podle značky
Pokud chcete uzamknout image myrepo:tag v myregistry, spusťte následující příkaz az acr repository update :
az acr repository update \
--name myregistry --image myrepo:tag \
--write-enabled false
Uzamčení obrázku hodnotou hash manifestu
Pokud chcete uzamknout image myrepo identifikované hodnotou hash manifestu (sha-256 hash, reprezentovaná jako sha256:...
), spusťte následující příkaz. (Pokud chcete najít hodnotu hash manifestu přidruženou k jedné nebo více značek obrázků, spusťte příkaz az acr manifest list-metadata .)
az acr repository update \
--name myregistry --image myrepo@sha256:123456abcdefg \
--write-enabled false
Uzamčení úložiště
Pokud chcete uzamknout úložiště myrepo a všechny image v něm, spusťte následující příkaz:
az acr repository update \
--name myregistry --repository myrepo \
--write-enabled false
Výpis atributů aktuálního úložiště
Pokud chcete aktualizovat atributy úložiště tak, aby označily výpis zámku image, spusťte příkaz az acr repository update .
az acr repository update \
--name myregistry --repository myrepo \
--list-enabled false
Zobrazení atributů obrázku při uzamčení obrázku
Pokud chcete dotazovat značky na zámek obrázku s povoleným --list-enabled false
atributem, spusťte příkaz az acr repository show .
az acr repository show-manifests \
--name myregistry --repository myrepo \
--query "[?listEnabled==null].tags"
--output table
Zkontrolujte atributy obrázku pro značku a odpovídající manifest.
Poznámka:
- Změnitelné atributy značek a manifestu se spravují samostatně. To znamená, že nastavení atributu
deleteEnabled=false
pro značku nenastaví stejné pro odpovídající manifest.
- Pomocí následujícího skriptu zadejte dotaz na atributy:
registry="myregistry"
repo="myrepo"
tag="mytag"
az login
az acr repository show -n $registry --repository $repo
az acr manifest show-metadata -r $registry -n "$repo:$tag"
digest=$(az acr manifest show-metadata -r $registry -n "$repo:$tag" --query digest -o tsv)
az acr manifest show-metadata -r $registry -n "$repo@$digest"
Poznámka:
Pokud jsou atributy image nastaveny s writeEnabled=false
nebo deleteEnabled=false
, pak bude blokovat odstranění image.
Ochrana image nebo úložiště před odstraněním
Ochrana image před odstraněním
Pokud chcete, aby se image myrepo:tag aktualizovala, ale neodstranila, spusťte následující příkaz:
az acr repository update \
--name myregistry --image myrepo:tag \
--delete-enabled false --write-enabled true
Ochrana úložiště před odstraněním
Následující příkaz nastaví úložiště myrepo , aby ho nebylo možné odstranit. Jednotlivé obrázky je stále možné aktualizovat nebo odstranit.
az acr repository update \
--name myregistry --repository myrepo \
--delete-enabled false --write-enabled true
Zabránění operacím čtení v imagi nebo úložišti
Pokud chcete zabránit operacím čtení (pull) na imagi myrepo:tag , spusťte následující příkaz:
az acr repository update \
--name myregistry --image myrepo:tag \
--read-enabled false
Pokud chcete zabránit operacím čtení u všech imagí v úložišti myrepo , spusťte následující příkaz:
az acr repository update \
--name myregistry --repository myrepo \
--read-enabled false
Odemknutí image nebo úložiště
Pokud chcete obnovit výchozí chování image myrepo:tag , aby bylo možné ji odstranit a aktualizovat, spusťte následující příkaz:
az acr repository update \
--name myregistry --image myrepo:tag \
--delete-enabled true --write-enabled true
Pokud chcete obnovit výchozí chování úložiště myrepo , které umožňuje odstranění a aktualizaci jednotlivých imagí, spusťte následující příkaz:
az acr repository update \
--name myregistry --repository myrepo \
--delete-enabled true --write-enabled true
Pokud je však v manifestu zámek, musíte spustit další příkaz k odemknutí manifestu.
az acr repository update \
--name myregistry --image $repo@$digest \
--delete-enabled true --write-enabled true
Další kroky
V tomto článku jste se dozvěděli o použití příkazu az acr repository update , abyste zabránili odstranění nebo aktualizaci verzí imagí v úložišti. Pokud chcete nastavit další atributy, podívejte se na referenční informace k příkazu az acr repository update .
Pokud chcete zobrazit atributy nastavené pro verzi image nebo úložiště, použijte příkaz az acr repository show .
Podrobnosti o operacích odstranění najdete v tématu Odstranění imagí kontejnerů ve službě Azure Container Registry.