47 lines
1.7 KiB
Bash
Executable File
47 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
# macOS:先尝试修复 Docker 引擎,再打开 Docker Desktop 图形界面
|
||
# 当「没有鲸鱼、没有窗口」但 docker 曾装过时,多半是引擎卡死(API 500 / 超时)
|
||
# 用法:bash sdk/scripts/open_docker_desktop_gui.sh
|
||
|
||
set -e
|
||
if [[ "$(uname -s)" != "Darwin" ]]; then
|
||
echo "本脚本仅适用于 macOS。"
|
||
exit 1
|
||
fi
|
||
|
||
if [[ ! -d "/Applications/Docker.app" ]]; then
|
||
echo "未找到 /Applications/Docker.app,请先安装 Docker Desktop。"
|
||
exit 1
|
||
fi
|
||
|
||
if command -v docker >/dev/null 2>&1; then
|
||
echo "== 1/3 尝试重启 Docker Desktop 引擎(docker desktop restart)=="
|
||
if docker desktop restart 2>/dev/null; then
|
||
echo " 已下发 restart,等待引擎响应…"
|
||
for _ in $(seq 1 45); do
|
||
if docker info >/dev/null 2>&1; then
|
||
echo " 引擎已就绪(docker info 成功)。"
|
||
break
|
||
fi
|
||
sleep 2
|
||
done
|
||
else
|
||
echo " restart 失败(可能 CLI 不可用),将直接尝试打开界面。"
|
||
fi
|
||
else
|
||
echo "== 1/3 未找到 docker 命令,跳过引擎重启 =="
|
||
fi
|
||
|
||
echo "== 2/3 打开 Docker Desktop 主程序(内嵌 App)=="
|
||
open "/Applications/Docker.app/Contents/MacOS/Docker Desktop.app" 2>/dev/null || open -a Docker
|
||
sleep 2
|
||
|
||
echo "== 3/3 打开仪表盘 URL =="
|
||
open "docker-desktop://dashboard" 2>/dev/null || true
|
||
|
||
echo ""
|
||
echo "已完成。若仍无鲸鱼图标:"
|
||
echo " · 菜单栏右侧可能被折叠,点 «⋯» 或双箭头展开隐藏图标(macOS 新版本常见)。"
|
||
echo " · 系统设置 → 控制中心 → 检查与菜单栏相关的显示选项。"
|
||
echo " · 终端执行: docker desktop status 与 docker version 确认引擎是否正常。"
|