search
LoginSignup
2
Organization

Docker Desktop for Macの自動起動が出来ない現状の代替手段

:warning: 2022/2/27追記: 最新バージョンの20.10.12で自動起動時に毎回ログイン画面に遷移するところから開始し、起動後も各種メニューオプションが表示されないなど、不具合が発生しています。よって、以下の方法は有効です。

:warning: 2021/12/5追記: 以下の問題はDocker Desktop for Macの最新版である20.10.11(@ macOS 12.0.1 Monterey)では一応解決しています。しかし、今後再発する可能性が有りますので、再発した場合は、以下の方法が有効です。

Docker Desktop for MacがMacの起動時に自動起動1出来ず、「Fatal Error Failed to ping backend API」とエラーコンソールが表示されます。しかも、操作ボタンを選ばせる様になっていますが、クリックしても反応しません。故に終了させたくても終了させることが出来ず、ターミナルを起動してKillするか、アクティビティモニタを起動して強制終了するより他に終了出来ません。そこで以下の様に現状の代替手段を考えました。

自動起動の無効化

Docker DesktopのPreferences.../GeneralのStart Docker Desktop when you log inのチェックボックスをオフにします。また、Docker Desktop起動時にダッシュボードが表示されて欲しくない場合は、Open Docker Desktop dashboard at startupのチェックボックスもオフにします。

起動スクリプトの作成

Docker Desktopの起動スクリプトを作成します。記述内容は以下の通りです。sleep 300の部分は遅延起動のために開始を300秒(5分)待つようにしています。これはDockerの起動エラーが起動直後の様々なプロセスの起動が立て込んでいるタイミングでDockerを起動させようとすると発生している傾向が有るからです。

start_docker_desktop.sh
#!/bin/bash

sleep 300
open /Applications/Docker.app

実行権限の付与

実行権限を付与します。

chmod +x start_docker_desktop.sh

Crontabに登録し、起動時に自動実行を有効化

Crontabに登録して、Mac起動時に自動実行出来る様にします。

crontab -e

以下の内容を追記します。

@reboot start_docker_desktop.shの絶対パス

Reference

  1. 現状Docker DesktopのPreferences.../Generalを覗いてみると、Start Docker Desktop when you log inのチェックボックスがオフになっています。ネットで調べて見るとGitHubのIssueにも挙がっており、どうやらバグの様です。

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
What you can do with signing up
2