3.4. コンテナーイメージのダウンロード
コンテナーリストを見つけてミラーリングの前提条件を満たしてから、インターネットアクセスのあるホストにコンテナーイメージをダウンロードします。
前提条件
- インターネットにアクセスできるホストにログインしている。
-
.pull-secret-mirror.json
ファイルとmicroshift-containers
ディレクトリーの内容がローカルで利用できることを確認する。
手順
次のコマンドを実行して、コンテナーイメージのコピーに使用する
skopeo
ツールをインストールします。$ sudo dnf install -y skopeo
プルシークレットファイルを指す環境変数を設定します。
$ PULL_SECRET_FILE=~/.pull-secret-mirror.json
コンテナーイメージのリストを指す環境変数を設定します。
$ IMAGE_LIST_FILE=~/microshift-container-refs.txt
ダウンロードしたデータを保存する宛先ディレクトリーを指す環境変数を設定します。
$ IMAGE_LOCAL_DIR=~/microshift-containers
次のスクリプトを実行して、コンテナーイメージを
${IMAGE_LOCAL_DIR}
ディレクトリーにダウンロードします。while read -r src_img ; do # Remove the source registry prefix dst_img=$(echo "${src_img}" | cut -d '/' -f 2-) # Run the image download command echo "Downloading '${src_img}' to '${IMAGE_LOCAL_DIR}'" mkdir -p "${IMAGE_LOCAL_DIR}/${dst_img}" skopeo copy --all --quiet \ --preserve-digests \ --authfile "${PULL_SECRET_FILE}" \ docker://"${src_img}" dir://"${IMAGE_LOCAL_DIR}/${dst_img}" done < "${IMAGE_LIST_FILE}"
- イメージセットをターゲット環境 (エアギャップサイトなど) に転送します。その後、イメージセットをミラーレジストリーにアップロードできます。