Tárolólemezképek importálása tárolóregisztrációs adatbázisba
Docker-parancsok használata nélkül egyszerűen importálhat (másolhat) tárolórendszerképeket egy Azure-tárolóregisztrációs adatbázisba. Például importálhat lemezképeket egy fejlesztési beállításjegyzékből egy éles beállításjegyzékbe, vagy átmásolhatja az alaprendszerképeket egy nyilvános beállításjegyzékből.
Az Azure Container Registry számos gyakori forgatókönyvet kezel a rendszerképek és más összetevők másolásához egy meglévő beállításjegyzékből:
Képek importálása nyilvános beállításjegyzékből
Képek vagy OCI-összetevők importálása, beleértve a Helm 3-diagramokat egy másik Azure-tárolóregisztrációs adatbázisból ugyanabban vagy egy másik Azure-előfizetésben vagy -bérlőben
Importálás nem Azure-beli privát tárolóregisztrációs adatbázisból
Az Azure-tárolóregisztrációs adatbázisba történő képimportálás a Docker CLI-parancsokkal szemben az alábbi előnyökkel jár:
Mivel az ügyfélkörnyezetnek nincs szüksége helyi Docker-telepítésre, importáljon bármilyen tárolólemezképet a támogatott operációsrendszer-típustól függetlenül.
Többarchitektúrás rendszerképek (például hivatalos Docker-rendszerképek) importálásakor a jegyzéklistában megadott összes architektúra és platform rendszerképei ki lesznek másolva.
A célregisztrációs adatbázishoz való hozzáférésnek nem kell a beállításjegyzék nyilvános végpontját használnia.
Fontos
- A rendszerképek importálásához az RFC 7233 külső beállításjegyzék-támogatás szükséges. A hibák elkerülése érdekében javasoljuk, hogy olyan beállításjegyzéket használjon, amely támogatja az RFC 7233-tartományokat, miközben az az acr import parancsot használja a beállításjegyzék URI-val.
Korlátozások
- Az importált rendszerképek jegyzékfájljainak maximális száma 50.
- A nyilvános beállításjegyzékből importált képek maximális rétegmérete 2 GiB.
A tárolólemezképek importálásához ehhez a cikkhez az Azure CLI-t kell futtatnia az Azure Cloud Shellben vagy helyileg (a 2.0.55-ös vagy újabb verzió ajánlott). A verzió azonosításához futtassa a következőt: az --version
. Ha telepíteni vagy frissíteni szeretne: Az Azure CLI telepítése.
Megjegyzés:
Ha azonos tárolórendszerképeket kell terjesztenie több Azure-régióban, az Azure Container Registry a georeplikálást is támogatja. A beállításjegyzék georeplikálásával (prémium szolgáltatási szint szükséges) több régiót is kiszolgálhat azonos rendszerképekkel és címkenevekkel egyetlen beállításjegyzékből.
Fontos
2021 januárjától módosult a rendszerképek importálása két Azure-tárolóregisztrációs adatbázis között:
- A hálózat által korlátozott Azure-tárolóregisztrációs adatbázisba való importáláshoz vagy onnan való importáláshoz a korlátozott beállításjegyzéknek engedélyeznie kell a megbízható szolgáltatások hozzáférését a hálózat megkerüléséhez. Alapértelmezés szerint a beállítás engedélyezve van, ami lehetővé teszi az importálást. Ha a beállítás nincs engedélyezve egy privát végponttal vagy a beállításjegyzék tűzfalszabályaival rendelkező újonnan létrehozott beállításjegyzékben, az importálás sikertelen lesz.
- Egy meglévő, importálási forrásként vagy célként használt, hálózat által korlátozott Azure-tárolóregisztrációs adatbázisban a hálózati biztonsági funkció engedélyezése nem kötelező, de ajánlott.
Előfeltételek
Ha még nem rendelkezik Azure-tárolóregisztrációs adatbázissal, hozzon létre egy beállításjegyzéket. A lépésekért tekintse meg a rövid útmutatót: Privát tárolóregisztrációs adatbázis létrehozása az Azure CLI használatával.
Egy rendszerkép Azure-tárolóregisztrációs adatbázisba való importálásához az identitásnak írási engedélyekkel kell rendelkeznie a célregisztrációs adatbázishoz (legalább közreműködői szerepkörrel vagy egy egyéni szerepkörrel, amely lehetővé teszi az importálási művelet használatát). Tekintse meg az Azure Container Registry szerepköreit és engedélyeit.
Importálás nyilvános beállításjegyzékből
Fontos
A nyilvános beállításjegyzékből a hálózat által korlátozott Azure-tárolóregisztrációs adatbázisba való importáláshoz a korlátozott beállításjegyzéknek engedélyeznie kell a megbízható szolgáltatások általi hozzáférést a hálózat megkerüléséhez. Alapértelmezés szerint a beállítás engedélyezve van, ami lehetővé teszi az importálást. Ha a beállítás nincs engedélyezve egy privát végponttal vagy a beállításjegyzék tűzfalszabályaival rendelkező újonnan létrehozott beállításjegyzékben, az importálás sikertelen lesz.
Importálás a Docker Hubról
Az az acr import paranccsal például importálhatja a többarchitektúra-rendszerképet hello-world:latest
a Docker Hubról egy myregistry nevű beállításjegyzékbe. Mivel hello-world
a Docker Hub hivatalos rendszerképe, ez a rendszerkép az alapértelmezett library
adattárban található. Adja meg az adattár nevét és opcionálisan egy címkét a --source
képparaméter értékéhez. (A rendszerképeket tag helyett a jegyzékbeli kivonat alapján is azonosíthatja, ami garantálja a kép egy adott verzióját.)
az acr import \
--name myregistry \
--source docker.io/library/hello-world:latest \
--image hello-world:latest
Az az acr manifest list-metadata parancs futtatásával ellenőrizheti, hogy több jegyzékfájl van-e társítva ehhez a lemezképhez:
az acr manifest list-metadata \
--name hello-world \
--registry myregistry
Összetevő importálása kivonatolással címke hozzáadása nélkül:
az acr import \
--name myregistry \
--source docker.io/library/hello-world@sha256:abc123 \
--repository hello-world
Ha Rendelkezik Docker Hub-fiókkal, javasoljuk, hogy használja a hitelesítő adatokat a rendszerkép Docker Hubból való importálásakor. Adja meg paraméterként a Docker Hub felhasználónevét és jelszavát vagy személyes hozzáférési jogkivonatátaz acr import
. Az alábbi példa egy nyilvános rendszerképet importál a tensorflow
Docker Hub adattárából a Docker Hub hitelesítő adataival:
az acr import \
--name myregistry \
--source docker.io/tensorflow/tensorflow:latest-gpu \
--image tensorflow:latest-gpu
--username <Docker Hub user name>
--password <Docker Hub token>
Importálás a Microsoft Container Registryből
Importálja például a ltsc2019
Windows Server Core rendszerképet a windows
Microsoft Container Registry adattárából.
az acr import \
--name myregistry \
--source mcr.microsoft.com/windows/servercore:ltsc2019 \
--image servercore:ltsc2019
Importálás egy Azure-tárolóregisztrációs adatbázisból ugyanabban az AD-bérlőben
Az integrált Microsoft Entra-engedélyek használatával importálhat lemezképet egy Azure-tárolóregisztrációs adatbázisból ugyanabban az AD-bérlőben.
Az identitásnak Microsoft Entra-engedélyekkel kell rendelkeznie a forrásregisztrációs adatbázisból (Olvasói szerepkör) való olvasáshoz és a célregisztrációs adatbázisba való importáláshoz (közreműködői szerepkörhöz vagy az importálási művelethez engedélyező egyéni szerepkörhöz ).
A beállításjegyzék ugyanabban az Active Directory-bérlőben lehet ugyanabban vagy egy másik Azure-előfizetésben.
Előfordulhat, hogy a forrásregisztrációs adatbázishoz való nyilvános hozzáférés le van tiltva. Ha a nyilvános hozzáférés le van tiltva, a forrásregisztrációs adatbázist erőforrás-azonosító alapján adja meg a beállításjegyzék bejelentkezési kiszolgálójának neve helyett.
Ha a forrásregisztrációs adatbázis és/vagy a célregisztrációs adatbázis privát végpontot vagy beállításjegyzék tűzfalszabályokat alkalmaz, győződjön meg arról, hogy a korlátozott beállításjegyzék lehetővé teszi a megbízható szolgáltatások számára a hálózat elérését.
Importálás ugyanabban az előfizetésben lévő beállításjegyzékből
Importálja például a aci-helloworld:latest
rendszerképet egy forrásregisztrációs adatbázis mysourceregistry rendszerképéből ugyanabban az Azure-előfizetésben lévő myregisztrációs adatbázisba.
az acr import \
--name myregistry \
--source mysourceregistry.azurecr.io/aci-helloworld:latest \
--image aci-helloworld:latest
Az alábbi példa egy forrásregisztrációs adatbázis mysourceregistry adatbázisából importálja a aci-helloworld:latest
rendszerképet a myregisztrációs adatbázisba, amelyben a beállításjegyzék nyilvános végpontjának hozzáférése le van tiltva. Adja meg a forrásregisztrációs adatbázis erőforrás-azonosítóját a --registry
paraméterrel. Figyelje meg, hogy a --source
paraméter csak a forrásadattárat és a címkét adja meg, a regisztrációs adatbázis bejelentkezési kiszolgálójának nevét nem.
az acr import \
--name myregistry \
--source aci-helloworld:latest \
--image aci-helloworld:latest \
--registry /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceResourceGroup/providers/Microsoft.ContainerRegistry/registries/mysourceregistry
Az alábbi példában a rendszerképet jegyzékkivonat (SHA-256 kivonat, reprezentációja sha256:...
) alapján importálja a címke helyett:
az acr import \
--name myregistry \
--source mysourceregistry.azurecr.io/aci-helloworld@sha256:123456abcdefg
Importálás egy másik előfizetésben lévő beállításjegyzékből
Az alábbi példában a mysourceregistry egy másik előfizetésben található, mint az ugyanazon Active Directory-bérlőben lévő myregistry. Adja meg a forrásregisztrációs adatbázis erőforrás-azonosítóját a --registry
paraméterrel. Figyelje meg, hogy a --source
paraméter csak a forrásadattárat és a címkét adja meg, a regisztrációs adatbázis bejelentkezési kiszolgálójának nevét nem.
az acr import \
--name myregistry \
--source aci-helloworld:latest \
--image aci-hello-world:latest \
--registry /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceResourceGroup/providers/Microsoft.ContainerRegistry/registries/mysourceregistry
Importálás egy beállításjegyzékből szolgáltatásnév hitelesítő adataival
Ha olyan beállításjegyzékből szeretne importálni, amelyhez nem fér hozzá integrált Active Directory-engedélyekkel, használhatja a szolgáltatásnév hitelesítő adatait (ha van ilyen) a forrásregisztrációs adatbázishoz. Adja meg a forrásregisztrációs adatbázishoz ACRPull-hozzáféréssel rendelkező Active Directory-szolgáltatásnév appID azonosítóját és jelszavát. A szolgáltatásnév használata olyan buildrendszerekhez és más felügyelet nélküli rendszerekhez hasznos, amelyeknek lemezképeket kell importálnia a beállításjegyzékbe.
az acr import \
--name myregistry \
--source sourceregistry.azurecr.io/sourcerrepo:tag \
--image targetimage:tag \
--username <SP_App_ID> \
--password <SP_Passwd>
Importálás egy másik AD-bérlőben lévő Azure-tárolóregisztrációs adatbázisból
Ha egy másik Microsoft Entra-bérlő azure-tárolóregisztrációs adatbázisából szeretne importálni, adja meg a forrásregisztrációs adatbázist a bejelentkezési kiszolgáló neve alapján, és adjon meg olyan hitelesítő adatokat, amelyek lehetővé teszik a regisztrációs adatbázishoz való lekéréses hozzáférést.
Bérlők közötti importálás felhasználónévvel és jelszóval
Használjon például adattár-hatókörű jogkivonatot és jelszót, vagy egy Active Directory-szolgáltatásnév appID azonosítóját és jelszavát, amely ACRPull-hozzáféréssel rendelkezik a forrásregisztrációs adatbázishoz.
az acr import \
--name myregistry \
--source sourceregistry.azurecr.io/sourcerrepo:tag \
--image targetimage:tag \
--username <SP_App_ID> \
--password <SP_Passwd>
Bérlők közötti importálás hozzáférési jogkivonattal
Ha a forrásregisztrációs adatbázist a forrásbérlében található identitással szeretné elérni, amely beállításjegyzék-engedélyekkel rendelkezik, hozzáférési jogkivonatot kaphat:
# Login to Azure CLI with the identity, for example a user-assigned managed identity
az login --identity --username <identity_ID>
# Get access token returned by `az account get-access-token`
az account get-access-token
A célbérltetőben adja át a hozzáférési jogkivonatot jelszóként a az acr import
parancsnak. A forrásregisztrációs adatbázist a bejelentkezési kiszolgáló neve adja meg. Figyelje meg, hogy ebben a parancsban nincs szükség felhasználónévre:
az acr import \
--name myregistry \
--source sourceregistry.azurecr.io/sourcerrepo:tag \
--image targetimage:tag \
--password <access-token>
Megjegyzés:
A bérlőközi szolgáltatás nem működik a felhőkben. A bérlők közötti importálás privát végpontokon keresztül szintén nem támogatott.
Importálás nem Azure-beli privát tárolóregisztrációs adatbázisból
A rendszerkép importálása nem Azure-beli privát beállításjegyzékből olyan hitelesítő adatok megadásával, amelyek lehetővé teszik a regisztrációs adatbázishoz való lekéréses hozzáférést. Például lekérjen egy képet egy privát Docker-beállításjegyzékből:
az acr import \
--name myregistry \
--source docker.io/sourcerepo/sourceimage:tag \
--image sourceimage:tag \
--username <username> \
--password <password>
Következő lépések
Ebben a cikkben megismerkedett a tárolólemezképek azure-tárolóregisztrációs adatbázisba való importálásával egy nyilvános vagy egy másik privát beállításjegyzékből.
- További képimportálási lehetőségekért tekintse meg az az acr import parancsreferenciát.
A képimportálás segíthet a tartalom áthelyezésében egy másik Azure-régióban, előfizetésben vagy Microsoft Entra-bérlőben lévő tárolóregisztrációs adatbázisba. További információ: Tárolóregisztrációs adatbázis manuális áthelyezése másik régióba.
Megtudhatja, hogyan tilthatja le az összetevők exportálását a hálózat által korlátozott tárolóregisztrációs adatbázisból.