🐳

【トラブルシュート】macOS で Docker Deskotp を更新した後、起動できない

に公開

はじめに

macOS で Docker Desktop を更新した時、起動に失敗するエラーに遭遇しました。

今回は改めて Docker Desktop のトラブルシューティング方法を解説し、実際に解決に至るまでのステップを記載しました。最後まで見ていただけますと幸いです。

また、時間がない方は Docker Desktop トラブルシューティングの おすすめの方法 だけでも見ることをおすすめします。

環境

現象が発生した環境は以下の通り。

$ sw_vers
ProductName:		macOS
ProductVersion:		15.6
BuildVersion:		24G84

$ docker -v
Docker version 28.3.2, build 578ccf6

$ mdls -name kMDItemVersion /Applications/Docker.app
kMDItemVersion = "4.44.0"
Dcoker Desktop のバージョン表示

LLM に聞いたところ、CLI から Dcoker Desktop のバージョンを確認するには3通りある。

$ docker version # ①
$ docker system info # ②
$ mdls -name kMDItemVersion /Applications/Docker.app # ③

①と②は docker コマンドから確認する方法だ。しかし今回の現象では機能しなかった。docker コマンドで Docker Desktop のバージョンを確認するには、Docker デーモンが起動している必要があるからだ。今回はそもそも Docker Desktop の起動に失敗しており、Docker デーモンは起動していない。そのため、③による GUI アプリケーションのバージョン番号の確認を行った。

Docker デーモンが起動していない状態の①と②結果を以下に示す。

$ docker version
Client:
 Version:           28.3.2
 API version:       1.51
 Go version:        go1.24.5
 Git commit:        578ccf6
 Built:             Wed Jul  9 16:12:57 2025
 OS/Arch:           darwin/arm64
 Context:           desktop-linux
Cannot connect to the Docker daemon at unix:///Users/user/.docker/run/docker.sock. Is the docker daemon running?

$ docker system info
Client:
 Version:    28.3.2
 Context:    desktop-linux
 Debug Mode: false
 Plugins:
...

Server:
Cannot connect to the Docker daemon at unix:///Users/user/.docker/run/docker.sock. Is the docker daemon running?

状況

Mac のメニューバーより Docker のアイコンをクリックし、「Update & Restart」を選択した。

すると、Docker Desktop 起動時に以下の画面が表示された。

Docker Desktop encountered an unexpected error and needs to close.

Search our troubleshooting documentation to find a solution or workaround. Alternatively, you can gather a diagnostics report and submit a support request or GitHub issue.

running services: running services: running com.docker.build: com.docker.build: running com.docker.build: process 87139 exited with exit code 2 and WaitStatus 512

どうやら起動時に予期せぬエラーが発生しているようだ。何度か Quit して再起動したが、症状が改善しない。

まずはメッセージにある troubleshooting documentation の内容を読んでみよう。

Docker Desktop のトラブルシューティング

This page contains information on how to diagnose and troubleshoot Docker Desktop, and how to check the logs.
このページには、Dockerデスクトップの診断とトラブルシューティングの方法と、ログを確認する方法に関する情報が含まれています。

文章の構造を以下に示そう。

おすすめの方法

まずは、可能なら トラブルシューティングのオプション を試してみよう。Docker Desktop や Kubernetes cluster の再起動といった、古典的な方法が用意されている。どうしても緊急であれば、データの削除を伴うオプションを試してみても良いだろう。

次に、すでに問題と解決策が報告されていないか、検索してみることをおすすめする。Google 検索、GitHub Issue の閲覧、LLM への問い合わせがあるだろう。

特に今回のような最新のバージョンアップによる問題の場合、すでに GitHub Issue に報告されている可能性が高い。利用している OS の Docker リポジトリへ行き、Issue を眺めてみよう。

最新でない問題の場合、Google 検索や LLM への問い合わせが役に立つだろう。エラーメッセージを LLM に問い合わせれば、いくつかの選択肢を提示してくれる。

最後に、それでも解決しなければ診断結果を報告しよう。有料の Docker サブスクリプションがある場合はサポートへ問い合わせることができる。そうでない場合は GitHub の Issue へ報告しよう。GitHub の Issue の報告でも Contributor からの詳しい解決策が得られるかもしれない。

トラブルシューティング

トラブルシューティングには、トラブルシューティングへ移動する方法と、トラブルシューティングのメニュー内容が記載されている。

前提として、Docker Desktop の起動に成功している必要がある。

  • メニューバーの Docker メニューを選択して、トラブルシューティングを行う
  • Docker ダッシュボードを開き、右上のトラブルシューティングアイコンを選択する

トラブルシューティングには、再起動やリセット系の選択肢が並んでいる。

今回の状況ではそもそも Docker Desktop の起動に成功しておらず、特にトラブルシューティングは行わなかった。

診断

診断には、診断を行うための3つの方法が記載されている。

エラーメッセージやターミナルからも診断することができ、Docker Desktop の起動に失敗していても実行可能だ。

入り口は違えど、診断は次のステップで完了する。

  1. 診断を収集する
  2. 診断をアップロードする
  3. 診断IDを使用してヘルプを取得する
    i. 有料の Docker サブスクリプションがある場合は、サポートへ問い合わせる
    ii. 有料の Docker サブスクリプションがない場合は、GitHub で新しい問題として報告する

つまり、Docker の様々な情報を収集し、問題として報告することが診断ということだ。

筆者はアプリから診断を行った。しかし、5分以上待っても診断が完了しなかったため、診断による解決は断念した。


Gather diagnosticsをクリックしたが、時間が経っても完了しない

GitHub の閲覧

GitHub の Issue にすでに問題が報告されている可能性がある。Docker では OS ごとにリポジトリが分かれており、それぞれで Issue を探すことができる。

筆者は Mac 向けのリポジトリの Issue を閲覧し、解決策となる Issue を探すことができた。Issue を上から眺めていき、関係がありそうなものを探した。対象の Issue は2週間前に報告されていた。

Docker Desktop for macOS cannot be started due to update to v4.43.2 #7729

ログの確認

診断の他に、直接ログを確認することができる。

筆者は実行しなかったが、問題の検索では解決策を見つけられなかった場合や、さらに詳しい情報が必要な場合には有効そうだ。

Docker Desktop for macOS cannot be started due to update to v4.43.2 #7729

今回はすでに Issue が報告されており、解決策も存在した。この Issue では以下の解決策が報告されていた。

今回は「Dcoker Desktop のディスクサイズ増量」を選択した。Contributor による詳しい内容が報告されていたのと、データを損失せずに済む解決策であったからだ。

Dcoker Desktop のディスクサイズ増量

Contributor の @djs55 によると、今回の原因は「Docker VMM の現在のバージョンに、Docker Deskttop ディスクファイルが縮小するバグが存在すること」だったようだ。バグは、ファイルサイズが数ブロック(端のブロックが空になっている場所)によって切り捨てられていることによって引き起こされ、ディスクが小さく見える。そのため、VM を混乱させてサイズを大きくすると、e2fsck が幸せになるとのこと。

解決策として2つ提示していた。

  1. コンテナとイメージを削除して、Apple VMM に切り替える工場出荷時の設定にリセットする (データが失われる)
  2. バグ修正済みの Docker Desktop をインストールし、ディスクサイズを増量する (データは失われない)

筆者は 2 を選択して実行した。

バグ修正済みの Docker Desktop をインストールし、ディスクサイズを増量する

まずは Docker.raw のデータをバックアップする。コメントでは ~/Library/Containers/com.docker.docker/Data/Docker.raw が示されていたが、筆者の環境では存在しなかった。調べたところ ~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw にあった。

$ time cp -c ~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw ~/Docker.bak.raw
cp -i -c ~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw   0.00s user 0.00s system 67% cpu 0.004 total
Dcoekr.raw のファイルサイズとコピー方法

最初は cp コマンドで実行したが、なんと30分かかっても終了しなかった。

$ cp ~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw ~/Docker.bak.raw

元ファイルのサイズを調べると 23GB もあった。cp 途中のファイルを調べると、30分で 13 GB しかコピーできなていなかった。

$ du  ~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw 
 23G	/Users/user/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw

$ $ du  ~/Docker.bak.raw 
 13G	/Users/user/Docker.bak.raw

LLM に聞くと、もっと速いコピー方法を教えてくれた。しかし、こちらはこちらで一瞬で成功した。逆に不安になる速さであった。本当に元ファイルが削除された際にバックアップとして機能するのか不安だが、最悪消えても良いデータなので続行した。

$ time cp -c ~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw ~/Docker.bak.raw
cp -i -c ~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw   0.00s user 0.00s system 67% cpu 0.004 total

$ du ~/Docker.bak.raw
 23G	/Users/user/Docker.bak.raw

次に、バグ修正済みの Docker Desktop をインストールする。

通常のインストールと同じだ。Docker.dmg ファイルがダウンロードされ、ファイルをダブルクリックしてコピーする。すでにアプリケーションが存在する警告が表示されるが、Replace を選択する。

次に、~/Library/Group\ Containers/group.com.docker/settings-store.json ファイルを編集する。DiskSizeMiB の値を現在よりも大きな値に変更する。

筆者の変更前の値は 270336 だった。@djs55 のマシンでは、数値を切り上げて 500000 にしたようだ。参考にして 300000 に切り上げてもよかったが、筆者も同じ値の 500000 に上乗せして設定した。

$ cat ~/Library/Group\ Containers/group.com.docker/settings-store.json | grep DiskSizeMiB
  "DiskSizeMiB": 270336,

$ vi ~/Library/Group\ Containers/group.com.docker/settings-store.json

$ cat ~/Library/Group\ Containers/group.com.docker/settings-store.json | grep DiskSizeMiB
  "DiskSizeMiB": 500000,

この状態で Dcoker Desktop を起動すると、無事に起動に成功した。

おわりに

いかがでしたでしょうか。Docker Desktop のトラブルシューティング方法から解説し、実際に解決したステップまで示しました。どなたかのお役に立てましたら幸いです。

参考文献

Discussion