Container Registry Enterprise Edition は、コンテナイメージや Helm チャートと並行して、カスタムの Open Container Initiative (OCI) アーティファクトを保存・配布します。このガイドでは、ORAS (OCI Registry As Storage) クライアントを使用して、ローカルファイルをカスタム OCI アーティファクトとして Container Registry Enterprise Edition インスタンスにプッシュし、それをプルして戻す手順を説明します。
前提条件
開始する前に、以下のものが揃っていることを確認してください:
ORAS クライアントがローカルマシンにインストールされていること。「インストール」をご参照ください。
ご利用の Container Registry Enterprise Edition インスタンスで、インターネットアクセスが有効になっているか、VPC のアクセス制御リスト (ACL) が設定されていること。このガイドではインターネットアクセスを使用します。詳細については、「インターネット経由でのアクセス設定」をご参照ください。
ご利用の Container Registry Enterprise Edition インスタンスのログインパスワード。忘れた場合は、アクセス認証情報を再設定してリセットしてください。詳細については、「Container Registry Enterprise Edition インスタンスのアクセス認証情報の設定」をご参照ください。
カスタム OCI アーティファクトのプッシュ
ステップ 1:環境変数の設定
レジストリの詳細を環境変数として設定します。後続のすべてのコマンドはこれらの変数を参照するため、一度更新するだけで済みます。
REGISTRY=<instance-name>-registry.cn-<region>.cr.aliyuncs.com
NAMESPACE=<namespace>
REPO=<image-repository>
TAG=<artifact-version>
IMAGE=$REGISTRY/$NAMESPACE/$REPO:$TAGプレースホルダーを実際の値に置き換えてください:
| プレースホルダー | 説明 | 例 |
|---|---|---|
<instance-name> | ご利用の Enterprise Edition インスタンスの名前 | my-registry |
<region> | インスタンスがデプロイされているリージョン | hangzhou |
<namespace> | ご利用のインスタンスの名前空間 | my-namespace |
<image-repository> | イメージリポジトリ名 | my-artifacts |
<artifact-version> | アーティファクトのバージョンタグ | v1.0 |
ステップ 2:インスタンスへのログイン
oras login --username=<username> $REGISTRYプロンプトが表示されたら、ログインパスワードを入力します。ログインに成功すると、次のように表示されます:
login succeededステップ 3:ローカルアーティファクトの作成
アーティファクトとして使用するサンプルファイルを作成します:
echo "hello world" > artifact.txtステップ 4:アーティファクトのプッシュ
先ほど設定した $IMAGE 変数を使用して、ファイルをインスタンスにプッシュします:
oras push $IMAGE \
--manifest-config /dev/null:application/vnd.customized.artifact.config \
./artifact.txt--manifest-config フラグは、アーティファクトのメディアタイプを application/vnd.customized.artifact.config に設定します。これにより、このカスタムアーティファクトは、標準のコンテナイメージ (メディアタイプは application/vnd.oci.image.config.v1+json) と区別されます。./artifact.txt 引数は、アップロードするローカルファイルを指定します。
プッシュに成功すると、以下のような出力が生成されます:
Uploading a948904f2f0f artifact.txt
Uploaded a948904f2f0f artifact.txt
Pushed [registry] <instance-name>-registry.cn-<region>.cr.aliyuncs.com/<namespace>/<image-repository>:<artifact-version>
Digest: sha256:...カスタム OCI アーティファクトのプル
ステップ 1:環境変数の設定
新しいシェルセッションにいる場合は、環境変数を再度設定します:
REGISTRY=<instance-name>-registry.cn-<region>.cr.aliyuncs.com
NAMESPACE=<namespace>
REPO=<image-repository>
TAG=<artifact-version>
IMAGE=$REGISTRY/$NAMESPACE/$REPO:$TAGステップ 2:インスタンスへのログイン
oras login --username=<username> $REGISTRYステップ 3:アーティファクトのプル
まずローカルコピーを削除して、プル操作でレジストリからファイルが取得されることを確認します:
rm -f artifact.txt
oras pull $IMAGEステップ 4:アーティファクトの検証
cat artifact.txtプルに成功した場合の出力は次のとおりです:
hello world