【トラブルシュート】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デスクトップの診断とトラブルシューティングの方法と、ログを確認する方法に関する情報が含まれています。
文章の構造を以下に示そう。
- トラブルシューティング
- 診断
- GitHub の閲覧
- ログの確認
おすすめの方法
まずは、可能なら トラブルシューティングのオプション を試してみよう。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 の起動に失敗していても実行可能だ。
入り口は違えど、診断は次のステップで完了する。
- 診断を収集する
- 診断をアップロードする
- 診断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 では以下の解決策が報告されていた。
~/Library/Containers/com.docker.docker
の削除- Dcoker Desktop のディスクサイズ増量
- Docker Desktop を
4.38.0
にダウングレード - Docker Desktop のファクトリーリセット
今回は「Dcoker Desktop のディスクサイズ増量」を選択した。Contributor による詳しい内容が報告されていたのと、データを損失せずに済む解決策であったからだ。
Dcoker Desktop のディスクサイズ増量
Contributor の @djs55 によると、今回の原因は「Docker VMM の現在のバージョンに、Docker Deskttop ディスクファイルが縮小するバグが存在すること」だったようだ。バグは、ファイルサイズが数ブロック(端のブロックが空になっている場所)によって切り捨てられていることによって引き起こされ、ディスクが小さく見える。そのため、VM を混乱させてサイズを大きくすると、e2fsck
が幸せになるとのこと。
解決策として2つ提示していた。
- コンテナとイメージを削除して、Apple VMM に切り替える工場出荷時の設定にリセットする (データが失われる)
- バグ修正済みの 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