6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Qiita100万記事感謝祭!記事投稿キャンペーン開催のお知らせ

MacのDocker Desktopがマルウェアで開かない対応方法

Posted at

はじめに

かけだしのバックエンドエンジニアをしているとぴ(@topi_log)です。
最近話題の「MacのDocker Desktopがマルウェア判定されて動かない」問題の解決方法の一つをご紹介します。
環境や状況によってやり方異なる可能性はありますが、同じ問題に悩まされている方の一助になれば幸いです。

筆者環境

Macbook pro M3 / Applie Silicon / Sonoma 14.5

対応方法

1. 一旦Docker Desktopをアンインストール

  • コンテナが起動している場合は全て落す
  • そのあと、Activity MonitorでDocker関連を全て落とす
  • Docker Desktopアプリをゴミ箱に入れ、ゴミ箱を空にする

上記3つを行います。
状況的にコンテナが動いていることはないと思いますが、もし動いていたらコマンドで落とすようにします。

2. バージョン4.37.2のDocker Desktopをインストール

Docker Desktop release notesにあるバージョン4.37.2をダウンロードしてインストールします。
※2025/01/07時点での最新バージョンです。

Appleシリコンの方は赤い方を、Intelの方は緑色の方をダウンロードしましょう。
ダウンロードしたらファイルをダブルクリックしインストールを行います。
image.png

3. Docker Systems Status Pageの内容を実行する

Docker Systems Status Pageに対処法が書かれているので、そのとおりに実行していきます。
以下は抜粋です。

% sudo pkill [dD]ocker
% sudo launchctl bootout system /Library/LaunchDaemons/com.docker.vmnetd.plist
% sudo launchctl bootout system /Library/LaunchDaemons/com.docker.socket.plist
% sudo rm -f /Library/PrivilegedHelperTools/com.docker.vmnetd
% sudo rm -f /Library/PrivilegedHelperTools/com.docker.socket
% sudo cp /Applications/Docker.app/Contents/Library/LaunchServices/com.docker.vmnetd /Library/PrivilegedHelperTools/
% sudo cp /Applications/Docker.app/Contents/MacOS/com.docker.socket /Library/PrivilegedHelperTools/

4. Docker Desktopを起動

場合によってはPC再起動の必要があるかもしれません。
Docker Desktopが起動すればOKです!
なお、ログイン画面など表示されますがskip可能です。

終わり

公式の解決方法なので大体はこれで直るんじゃないかとみています。
参考になれば幸いです。

おまけ

しっかり調べられてないのですが、一旦ChatGPTに各コマンドを解説していただきました。

sudo pkill [dD]ocker:Docker関連のプロセスを全て停止

  • pkill:指定されたプロセス名に一致するプロセスを終了
  • [dD]ocker:dockerまたはDockerのどちらにも一致する正規表現

sudo launchctl bootout system /Library/LaunchDaemons/com.docker.vmnetd.plist:Dockerの仮想ネットワークサービスを停止

  • launchctl bootout:指定されたLaunchDaemon(macOSでのシステムサービス)を停止し、システムからアンロード
  • /Library/LaunchDaemons/com.docker.vmnetd.plist:Dockerの仮想ネットワークデーモン(vmnetd)の設定ファイル

sudo launchctl bootout system /Library/LaunchDaemons/com.docker.socket.plist:Dockerソケットサービスを停止

  • launchctl bootout:Dockerソケット(com.docker.socket)に関連するサービスを停止
  • /Library/LaunchDaemons/com.docker.socket.plist:Dockerのソケットの設定ファイル

sudo rm -f /Library/PrivilegedHelperTools/com.docker.vmnetd:古いまたは不要になったcom.docker.vmnetdファイルを削除

  • rm -f:指定されたファイルを強制的に削除
  • /Library/PrivilegedHelperTools/com.docker.vmnetd:Docker仮想ネットワークデーモンの実行ファイル

sudo rm -f /Library/PrivilegedHelperTools/com.docker.socket:古いまたは不要になったcom.docker.socketファイルを削除

  • /Library/PrivilegedHelperTools/com.docker.socket:Dockerのソケットの設定ファイル

sudo cp /Applications/Docker.app/Contents/Library/LaunchServices/com.docker.vmnetd /Library/PrivilegedHelperTools/:正しい場所にcom.docker.vmnetdを配置して、後の再設定が可能になるようにする

  • cp:コピーコマンド
  • /Applications/Docker.app/Contents/Library/LaunchServices/com.docker.vmnet:新しいバージョンのDocker仮想ネットワークデーモンの実行ファイル
  • /Library/PrivilegedHelperTools/:システムレベルの権限(管理者権限)が必要な補助的なツールやサービスを格納している場所

sudo cp /Applications/Docker.app/Contents/MacOS/com.docker.socket /Library/PrivilegedHelperTools/: Dockerソケットの正しい実行ファイルを配置

  • /Applications/Docker.app/Contents/MacOS/com.docker.socket:新しいバージョンのDockerのソケットの設定ファイル

参考
Docker Systems Status Page

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?