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