こんばんは、しーまんです!!
今回は私がdockerでbuildした際に「ERROR [internal] load metadata for ..」というエラーに遭遇した際の解決方法を紹介します。
ビルドした際に同じエラーが出て困っている方向けの記事になります。
遭遇したエラーは以下です。
エラー発生経緯
エラー発生環境
エラーが発生した環境は下記です。
- MacOS Catalina 10.15.7
- Docker Desktop 4.0.1
- 自宅のwifi環境(楽天ひかり)
エラー発生状況
エラーが発生した状況は下記です。
- goのバージョンを1.6.1から1.7.1にアップデートしようとした
- ローカルにpullしていたイメージを使用する場合問題なし
エラー発生原因
エラーの文言からビルドに失敗しているというよりはイメージのpullに失敗しているように見えます。
なぜ突然エラーが出るようになったのか、詳しいところは分かりません。
Docker Desktop有料化とかの影響を受けているのでしょうか。。。docker login
をすると直るとかいう記事も見かけました。(こちらは検証しておりません)
いずれにせよDocker Desktopのバージョンアップの影響によるものが大きい気がしています。
(私の場合いつ頃バージョンアップしたのか覚えていませんでした)
解決方法
それでは私の場合の解決方法を紹介します。
まずDocker Desktopの設定を開きます。
右上のDockerアイコンをクリックし、「Preferences…」を選択します。

次に左メニューから「Docker Engine」を選択します。
右側にDockerの設定ファイルを変更出来るコード入力欄が表示されます。
そこに下記コードを設定します。

上記の設定をするとDocker Desktopが再起動されます。
こちらの設定で私の場合はビルドが出来るようになりました。
まとめ
今回はdocker build時に出たエラー「ERROR [internal] load metadata for …」についての解決方法を紹介しました。
Docker Desktop上でDockerのconfigファイルを修正するといったものでしたが、直接configファイルを修正して、再起動させても同じ結果になります。私の環境では下記がconfigファイルでしたね。
またコマンドで回避する方法もありそうです。こちらは 公式リファレンス をご確認ください。
今回の記事で同じエラーが出て困っていた方の参考になりましたら幸いです。
コメント