0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Sagemakerデプロイ時Unsupported manifest media typeの解決法

Posted at

背景

Amazon SageMakerでカスタムDockerイメージを使った際,「Unsupported manifest media type」というエラーが出ました.以下がエラーの全文になります.

Error: creating SageMaker model: operation error SageMaker: CreateModel,
https response error StatusCode: 400, RequestID: ***, api error ValidationException:
Unsupported manifest media type application/vnd.oci.image.manifest.v1+json for image
***.dkr.ecr.ap-northeast-1.amazonaws.com/***. Ensure that valid manifest media type
is used for specified image.

これは,SageMakerが古い Docker V2 Schema 2 フォーマットを要求するのに対し,最近のDocker(特にDocker Desktop)が新しい OCI (Open Container Initiative) Image Format でイメージを作成・管理するためです.

DOCKER_BUILDKIT=0 でも解決しなかった

一般的な対策として DOCKER_BUILDKIT=0 環境変数を設定してビルドしても,Docker Desktop 環境では解決しないケース が報告されています.筆者はこのケースでした.

これは,Docker Desktopの containerd統合 機能が有効な場合,BuildKitを無効化しても最終的にOCIフォーマットになってしまうのではないかと考えています.

解決策 1:Docker Desktop の containerd 統合を無効にする

DOCKER_BUILDKIT=0 が効かない場合の確実な方法は,Docker Desktopの設定で containerd 統合を無効にする ことです.

参考: Docker Forums - Force image to use manifest media type docker v2 schema 2 instead of oci? (jmenga Justin Menga 氏のコメント)

手順

  1. Docker Desktop の設定を開く:
    • タスクトレイ/メニューバーのDockerアイコン → 「Settings」(設定)
  2. 「General」(一般)タブへ移動:
  3. チェックを外す:
    • Use containerd for pulling and storing images」の チェックボックスをオフ にします.
  4. 適用して再起動:
    • Apply & Restart」をクリックします.
      スクリーンショット 2025-04-17 15.53.45.png
      注: UIはバージョンにより異なります

この設定変更後,再度イメージをビルドしてプッシュすれば,SageMakerのエラーは解消されるはずです.お試しください.

解決策 2:Docker のバージョンを下げる

もう一つの解決策はDocker をダウングレードすることです.Docker Forumのmeierpa 氏のコメントによると,この問題が発生したのはversion 27.1.2以降のDocker であるそうです.また,Docker Desktop version 4.31.0以前をインストールすることで解決したとの報告があります.こちらに関しては筆者は試していません.

参考: Docker Forums - Force image to use manifest media type docker v2 schema 2 instead of oci? (meierpa 氏のコメント)

まとめ

以上,Amazon SageMakerでカスタムDockerイメージを使う際に Unsupported manifest media type エラーが出た際の解決策についてまとめさせていただきました.
間違いや指摘等ありましたらコメントの方よろしくお願いします.

参考にしたページ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?