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.