はじめに
本件は復旧済みですが、かなり困ったので思い出として記載します。
事象発生日:2025/01/09 同日に解消
発生していた事象
macでDockerがマルウェア判定されて、ゴミ箱行きを要求され起動すらできなくなる。
- 突如表示されたシステムメッセージ
"Docker"を開くと、コンピュータが破損します。ゴミ箱にいれる必要があります。
この状態でDockerを開こうとするとこうなった。
アプリケーション"Docker"を開けません。
私の環境
- Mac M2 Sonoma
- DockerDeskTop 4.34.2
対応した内容
事象が発生した時には、"https://www.dockerstatus.com/"に本件と回避方法が記載されていましたので、それを順に実行しました。
対応1つめ:ワークアラウンド実行
記載されていた以下Bashを実行。
#!/bin/bash
# Stop the docker services
echo "Stopping Docker..."
sudo pkill [dD]ocker
# Stop the vmnetd service
echo "Stopping com.docker.vmnetd service..."
sudo launchctl bootout system /Library/LaunchDaemons/com.docker.vmnetd.plist
# Stop the socket service
echo "Stopping com.docker.socket service..."
sudo launchctl bootout system /Library/LaunchDaemons/com.docker.socket.plist
# Remove vmnetd binary
echo "Removing com.docker.vmnetd binary..."
sudo rm -f /Library/PrivilegedHelperTools/com.docker.vmnetd
# Remove socket binary
echo "Removing com.docker.socket binary..."
sudo rm -f /Library/PrivilegedHelperTools/com.docker.socket
# Install new binaries
echo "Install new binaries..."
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/
- 実行結果
> sh docker_renew.bash
Stopping Docker…
Password:
Stopping com.docker.vmnetd service…
Stopping com.docker.socket service…
Removing com.docker.vmnetd binary…
Removing com.docker.socket binary…
Install new binaries…
- 結果
事象解消せず・・・
対応2つめ:当時の最新版をダウンロードし、スクリプト実行
当時の最新版:4.37.1をインストールしようとすると、破損しているとゴミ箱行きになりました。
"Docker"は壊れているため開けません。ゴミ箱に入れる必要があります。
対応3つめ:既存のものを削除して、バグフィックス版の4.37.2をインストール
更新された直後は対象バージョンのリンクを押下すると403を吐いてましたが、夕刻に再度チャレンジするとダウンロードまで正常にできました。
このバージョンは、インストールも問題なく、既存のImageたちも表示されていました。
リリースノート:https://docs.docker.com/desktop/release-notes
なんで発生していたのか?
https://github.com/docker/for-mac/issues/7527 に記載がある通り、署名がうまくいってなかったみたいです。
The root cause has been identified: some files in existing installations are incorrectly signed which can be fixed by copying correctly signed files from the
Docker.app
application bundle.
↓翻訳
根本原因が特定されました:既存のインストールの一部のファイルは誤って署名されており、Docker.app
アプリケーションバンドルから正しく署名されたファイルをコピーすることで修正できます。
おまけ:Macにとってのマルウェアって?
上記のメッセージの「?」をクリックするとこんなヘルプがでました。
最後に
毎日何気なく利用していたDockerDeskTopでしたが、それが使えなくなるということがどれだけ恐ろしいことなのかを思い知りました。。。
複数OSを物理的に所有していることの大切さを実感できるいい機会でした。
※winでDockerDeskTop利用して開発されている方はノーダメだったので。
以上、どなたかのお役に立てば幸いです。