【Docker】Mac(M1チップ)でイメージがダウンロードできなくなった際の対応方法

Mac(M1チップ)でDockerをインストールしており、動作していたのが、突然以下のエラーが発生し、Dockerイメージをダウンロードできなくなりました。

$ docker pull amazonlinux
Using default tag: latest
Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

このままだとイメージがダウンロードできないので、事象の対応をまとめました。

「Docker」Mac(M1チップ)でイメージのダウンロードエラーが発生した時の対応方法

M1マックを購入して、Mac用のDockerをインストールして動かしていたのが、最近のMacアップデート更新でイメージのダウンロードができなくなっていました。

症状としては以下となります。

  • Dockerイメージがダウンロードできない
  • Dockerのアイコンで「!(エクスクラメーションマーク)」がついたまま
  • 再起動をしても症状が治らない

該当のDockerはMacM1シリコンに対応したものでインストールをしていました。
症状改善のために調べてみました。

Dockerコミュニティでも問題定義されていた

以下URLでのDockerのコミュニティでも同じような症状が発生しているユーザがいました。
その中で、新しいDockerを最新のバージョンで試してみてはという回答がありました。

https://github.com/docker/for-mac/issues/5293

実際にMacにインストール済みのDockerデスクトップは「update&restart」という状態になっており、再起動を実施したのですが、症状は変わらず、Dockerのアイコンも「!」マークがついたままの状態になっていました。
結局症状はうまくいかないので以下で対応しました。

既存Dockerデスクトップの削除と最新版Dockerデスクトップをインストール

結果的に私は最新のDockerデスクトップをインストールし直すことにしました。

最新版のDockerデスクトップインストーラーは以下からダウンロードします。
https://matsuand.github.io/docs.docker.jp.onthefly/docker-for-mac/apple-silicon/

インストール後、再度イメージダウンロードを実行すると以下のように問題なくイメージがダウンロードできたことが確認できます。

$ docker pull amazonlinux                                
Using default tag: latest
latest: Pulling from library/amazonlinux
b19e557e673c: Pull complete 
Digest: sha256:2e42b5d170dbb6d54d35b3b64627480de9687b52cfbab2086267a0fd2acd7bef
Status: Downloaded newer image for amazonlinux:latest
docker.io/library/amazonlinux:latest

以下コマンドでも正常にDockerイメージがダウンロードされたことが確認できます。

$ docker images
REPOSITORY    TAG       IMAGE ID       CREATED      SIZE
amazonlinux   latest    c8e1c3f1064f   8 days ago   193MB

以上でMacM1チップでのDockerイメージがダウンロードできない事象の対応となります。

Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

このエラーが発生した際は参考にしてください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUTこの記事をかいた人

blank

インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!