Dockerイメージ取得の失敗例→Docker Hubでイメージ検索して解決


Dockerイメージをうまくダウンロードできないで小一時間悩んだが、Docker Hubを使ってれば問題なかった、という話。

そもそもイメージ名が違っていた

WindowsのDockerイメージを探していた時に、以下の記事を読んで、nanoserverを入れてみようかと考えた。(結局使わなかったが…)
Windowsプログラムを実行するWindowsコンテナ

記事の通りにpullコマンドを入れるとエラーが。

> docker pull microsoft/nanoserver
Using default tag: latest
Error response from daemon: manifest for microsoft/nanoserver:latest not found: manifest unknown: manifest unknown

Docker Hubでイメージを検索する。

検索結果

正しいイメージ名を入れましょう。(記事が古かったか…)

Tagをちゃんと指定する

Docker Hubに指定の通りのイメージ名でTagを指定せずにPullした場合

> docker pull mcr.microsoft.com/windows/nanoserver
Using default tag: latest
Error response from daemon: manifest for mcr.microsoft.com/windows/nanoserver:latest not found: manifest unknown: manifest tagged by "latest" is not found

デフォルトのlatestで検索され、存在しないという結果になる。

latestで取得できないものはPullの際にTagを指定する必要があるので、Docker HubのイメージのページのTagリストを参照して指定する。

> docker pull mcr.microsoft.com/windows/nanoserver:(ここでTag指定)

manifest的な問題

とりあえずリストの一番上に書かれていたTagを指定する。

> docker pull mcr.microsoft.com/windows/nanoserver:20H2
20H2: Pulling from windows/nanoserver
no matching manifest for windows/amd64 10.0.19041 in the manifest list entries

amd64 10.0.19041だからダメ的なことを言われた。ので、別のTagを指定してやると、無事ダウンロードが始まった。

docker pull mcr.microsoft.com/windows/nanoserver:10.0.19041.1052-amd64
10.0.19041.1052-amd64: Pulling from windows/nanoserver

参考

Docker Imageを検索する場所と取得・一覧表示・削除する方法