OCI-összetevők leküldése és lekérése azure-tárolóregisztrációs adatbázis használatával
Az Azure-tárolóregisztrációs adatbázissal tárolhatja és kezelheti az Open Container Initiative (OCI) összetevőket, valamint a Docker- és OCI-tárolólemezképeket.
Ennek a funkciónak a bemutatásához ez a cikk bemutatja, hogyan használható az OCI Registry tárolóregisztrációs (ORAS) parancssori felületére egy mintaösszetevő – egy szövegfájl – leküldése egy Azure-tárolóregisztrációs adatbázisba. Ezután kérje le az összetevőt a beállításjegyzékből. Egy Azure-tárolóregisztrációs adatbázisban különböző OCI-összetevőket kezelhet az egyes összetevőknek megfelelő különböző parancssori eszközökkel.
Előfeltételek
- Azure Container Registry – Létrehozhat egy tároló-beállításjegyzéket Azure-előfizetésében. Használhatja például az Azure Portalt vagy az az acr createot.
- Azure CLI – Verzió
2.29.1
vagy újabb verzió szükséges. A telepítéssel és/vagy frissítéssel kapcsolatban lásd az Azure CLI telepítését és/vagy frissítését. - ORAS CLI – Verzióra
v0.16.0
van szükség. Lásd: ORAS telepítés. - Docker (nem kötelező) – Bár a Docker Desktop nem kötelező, a parancssori felület a
oras
Docker asztali hitelesítőadat-tárolóját használja a hitelesítő adatok tárolásához. Ha a Docker Desktop telepítve van, akkor a következőhöz kell futniaoras login
: .
Beállításjegyzék konfigurálása
Konfiguráljon környezeti változókat a parancsok egyszerű másolásához/beillesztéséhez a rendszerhéjba. A parancsok helyileg vagy az Azure Cloud Shellben is futtathatók.
ACR_NAME=myregistry
REGISTRY=$ACR_NAME.azurecr.io
Bejelentkezés egy beállításjegyzékbe
Hitelesítés egyéni Microsoft Entra-identitással egy AD-jogkivonat használatával. Mindig használja a "000..." értéket, USER_NAME
mivel a jogkivonatot a PASSWORD
változó elemzi.
# Login to Azure
az login
# Login to ACR, using a token based on your Azure identity
USER_NAME="00000000-0000-0000-0000-000000000000"
PASSWORD=$(az acr login --name $ACR_NAME --expose-token --output tsv --query accessToken)
Megjegyzés:
Az ACR és az ORAS több hitelesítési lehetőséget is támogat a felhasználók és a rendszerautomatizálás számára. Ez a cikk egyéni identitást használ egy Azure-jogkivonat használatával. További hitelesítési lehetőségekért lásd: Hitelesítés Azure-tárolóregisztrációs adatbázissal
Bejelentkezés AZ ORAS használatával
Adja meg a hitelesítő adatokat.oras login
oras login $REGISTRY \
--username $USER_NAME \
--password $PASSWORD
Gyökérösszetevő leküldése
A gyökérösszetevő olyan összetevő, amelynek nincs subject
szülője. A gyökérösszetevők bármi lehetnek egy tárolórendszerképből, egy helm-diagramból, egy adattár olvasófájljából. A csatolási, leküldési és lekéréses ellátási lánc összetevői olyan összetevők, amelyek egy másik összetevőre hivatkoznak. A referencia-összetevők lehetnek bármik az aláírásból, a szoftveres anyagjegyzékből, a vizsgálati jelentésből vagy más változó típusokból.
Ebben a példában hozzon létre egy markdown-fájlt képviselő tartalmat:
echo 'Readme Content' > readme.md
A következő lépés leküldi a fájlt a readme.md
fájlba <myregistry>.azurecr.io/samples/artifact:readme
.
- A beállításjegyzéket a rendszer a teljes beállításjegyzéknévvel
<myregistry>.azurecr.io
azonosítja (az összes kisbetűvel), majd a névtér és az adattár:/samples/artifact
. - Az összetevő fel van címkézve
:readme
, hogy egyedileg azonosítsa az adattárban (:latest, :v1, :v1.0.1
) felsorolt egyéb összetevőkből. - A beállítás
--artifact-type readme/example
megkülönbözteti az összetevőt egy tárolórendszerképtől, amely a .application/vnd.oci.image.config.v1+json
- Az
./readme.md
azonosító azonosítja a feltöltött fájlt, és a:application/markdown
fájl IANA-játmediaType
jelöli.
További információkért tekintse meg az OCI-összetevők szerzőinek útmutatóját.
oras push
A parancs használatával leküldheti a fájlt a beállításjegyzékbe.
Linux, WSL2 vagy macOS
oras push $REGISTRY/samples/artifact:readme \
--artifact-type readme/example \
./readme.md:application/markdown
Windows
.\oras.exe push $REGISTRY/samples/artifact:readme ^
--artifact-type readme/example ^
.\readme.md:application/markdown
A sikeres leküldés kimenete a következő kimenethez hasonló:
Uploading 2fdeac43552b readme.md
Uploaded 2fdeac43552b readme.md
Pushed <myregistry>.azurecr.io/samples/artifact:readme
Digest: sha256:e2d60d1b171f08bd10e2ed171d56092e39c7bac1aec5d9dcf7748dd702682d53
Többfájlos gyökérösszetevő leküldése
Ha az OCI-összetevők le lesznek küldve egy beállításjegyzékbe az ORAS használatával, a rendszer minden fájlhivatkozást blobként küld le. Ha külön blobokat szeretne leküldni, hivatkozzon a fájlokra egyenként, vagy a fájlok gyűjteményére egy könyvtárra hivatkozva.
További információ a fájlok gyűjteményének leküldéséről: Összetevők leküldése több fájllal
Hozzon létre néhány dokumentációt az adattárhoz:
echo 'Readme Content' > readme.md
mkdir details/
echo 'Detailed Content' > details/readme-details.md
echo 'More detailed Content' > details/readme-more-details.md
A többfájlos összetevő leküldése:
Linux, WSL2 vagy macOS
oras push $REGISTRY/samples/artifact:readme \
--artifact-type readme/example\
./readme.md:application/markdown\
./details
Windows
.\oras.exe push $REGISTRY/samples/artifact:readme ^
--artifact-type readme/example ^
.\readme.md:application/markdown ^
.\details
A jegyzék felderítése
Az eredményként oras push
létrehozott jegyzék megtekintéséhez használja a következőt oras manifest fetch
:
oras manifest fetch --pretty $REGISTRY/samples/artifact:readme
A kimenet a következőhöz hasonló lesz:
{
"mediaType": "application/vnd.oci.artifact.manifest.v1+json",
"artifactType": "readme/example",
"blobs": [
{
"mediaType": "application/markdown",
"digest": "sha256:2fdeac43552b71eb9db534137714c7bad86b53a93c56ca96d4850c9b41b777fc",
"size": 15,
"annotations": {
"org.opencontainers.image.title": "readme.md"
}
},
{
"mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
"digest": "sha256:0d6c7434a34f6854f971487621426332e6c0fda08040b9e6cc8a93f354cee0b1",
"size": 189,
"annotations": {
"io.deis.oras.content.digest": "sha256:11eceb2e7ac3183ec9109003a7389468ec73ad5ceaec0c4edad0c1b664c5593a",
"io.deis.oras.content.unpack": "true",
"org.opencontainers.image.title": "details"
}
}
],
"annotations": {
"org.opencontainers.artifact.created": "2023-01-10T14:44:06Z"
}
}
Gyökérösszetevő lekérése
Tiszta könyvtár létrehozása letöltéshez
mkdir ./download
Futtassa a parancsot az oras pull
összetevő lekéréséhez a beállításjegyzékből.
oras pull -o ./download $REGISTRY/samples/artifact:readme
A lekért fájlok megtekintése
tree ./download
Az összetevő eltávolítása (nem kötelező)
Ha el szeretné távolítani az összetevőt a beállításjegyzékből, használja a oras manifest delete
parancsot.
oras manifest delete $REGISTRY/samples/artifact:readme
Következő lépések
- Ismerje meg az Artifact-referenciákat, az aláírások társítását, az anyagjegyzéket és más referenciatípusokat
- További információ az ORAS-projektről, beleértve az összetevők jegyzékfájljának konfigurálását
- Az új összetevőtípusokra vonatkozó referenciainformációkért látogasson el az OCI-összetevők adattárára