4.5. ミラーレジストリーへのコンテナーイメージのアップロード
コンテナーイメージをエアギャップサイトで使用するには、次の手順を実行してミラーレジストリーにコンテナーイメージをアップロードします。
前提条件
-
microshift-quayにアクセスできるホストにログインした。 -
.pull-secret-mirror.jsonファイルがローカルで使用できる。 -
microshift-containersディレクトリーの内容がローカルで使用できる。
手順
次のコマンドを実行して、コンテナーイメージのコピーに使用する
skopeoツールをインストールします。$ sudo dnf install -y skopeoプルシークレットファイルを指す環境変数を設定します。
$ IMAGE_PULL_FILE=~/.pull-secret-mirror.jsonローカルコンテナーイメージディレクトリーを指す環境変数を設定します。
$ IMAGE_LOCAL_DIR=~/microshift-containersコンテナーイメージをアップロードするためのミラーレジストリー URL を指す環境変数を設定します。
$ TARGET_REGISTRY=<registry_host>:<port>1 - 1
<registry_host>:<port>は、ミラーレジストリーサーバーのホスト名とポートに置き換えます。
次のスクリプトを実行して、コンテナーイメージを
${TARGET_REGISTRY}ミラーレジストリーにアップロードします。pushd "${IMAGE_LOCAL_DIR}" >/dev/null while read -r src_manifest ; do local src_img src_img=$(dirname "${src_manifest}") # Add the target registry prefix and remove SHA local -r dst_img="${TARGET_REGISTRY}/${src_img}" local -r dst_img_no_tag="${TARGET_REGISTRY}/${src_img%%[@:]*}" # Run the image upload echo "Uploading '${src_img}' to '${dst_img}'" skopeo copy --all --quiet \ --preserve-digests \ --authfile "${IMAGE_PULL_FILE}" \ dir://"${IMAGE_LOCAL_DIR}/${src_img}" docker://"${dst_img}" done < <(find . -type f -name manifest.json -printf '%P\n') popd >/dev/null