質問: mlflow sagemaker というコマンドで AWS ECR に自動生成された docker image に変更を加えたいです こちらを参考にしてとりあえずローカルにイメージを取得しようとしたのですがうまくいきません 実行した手順は `docker pull ************.dkr.ecr.ap-northeast-1.amazonaws.com/【イメージ名】:latest` を実行したところ(イメージ ARN は AWS コンソールからのコピペなので間違ってないはず) ``` Error response from daemon: pull access denied. ... repository does not exist or may require 'docker login': denied: Your Authorization Token has expired. Please run 'aws ecr get-login --no-include-email' to fetch a new one. ``` というエラーが出て ``` aws ecr get-login --no-include-email ``` を実行したところ ``` docker login -u AWS -p xxxxxxx ``` という長いパスワードを持ったログインコマンドが表示されます そのコマンドを実行したところ `Login Succeeded` となりました 再度 `docker pull ************.dkr.ecr.ap-northeast-1.amazonaws.com/【イメージ名】:latest` を実行したところ ``` Error response from daemon: ... manifest unknown: Requested image not found ``` といわれてしまいます manifest ファイルというのがよくわからないのですが イメージ側の作り方に問題があって必要なファイルが不足しているということなんでしょうか? ECR の中のイメージに修正を加えるにはどういう手順を踏めばいいのでしょうか
回答: `manifest unknown: Requested image not found` というエラーメッセージは、指定した名前のイメージが存在しないときに出る典型的なものです。考えられる原因としてたとえば、`latest` という名前のタグは push されていますか? ブラウザ上の ECR コンソールで確認するか、`aws ecr list-images` コマンドを使って現在どのようなイメージが ECR にあるか確認してみてください。