要确认 FrankenPHP 镜像是否最新,需三步验证:1. 用 docker inspect 查本地镜像真实构建时间;2. 调用 Docker Hub API 获取远程 latest 的 last_updated 和 digest 并与本地比对;3. 运行 frankenphp --version 查二进制实际版本,因 :latest 镜像内二进制可能已更新。

直接查 Docker Hub 官方镜像的最新构建时间,比本地 docker images 显示的“2 days ago”更可靠——那个只是你上次拉取的时间,不是镜像实际更新时间。
用 docker inspect 看真实构建时间
运行以下命令获取当前本地镜像的准确创建时间:
-
docker pull dunglas/frankenphp:latest(先确保已拉取最新标签) docker inspect dunglas/frankenphp:latest | jq -r '.Created'
输出类似 2026-10-14T08:22:33.123456789Z,这就是该镜像在 Docker Hub 上的构建完成时间。如果这个时间早于今天,说明已有更新但你还没拉到。
查 Docker Hub API 获取最新 digest 和时间
跳过本地缓存,直连远程源:
立即学习“PHP免费学习笔记(深入)”;
- 执行:
curl -s "https://hub.docker.com/v2/repositories/dunglas/frankenphp/tags/latest" | jq -r '.last_updated, .images[0].digest' - 第一行是镜像在 Hub 上的最后更新时间(ISO 格式),第二行是当前
:latest对应的完整 digest - 对比你本地的 digest:
docker inspect dunglas/frankenphp:latest | jq -r '.RepoDigests[0]'
只要两个 digest 不一致,就说明远程已有新版本,必须重新拉取并更新 compose 文件中的镜像引用。
验证 FrankenPHP 二进制自身版本号
即使镜像没变,二进制内部版本也可能通过小版本更新(如 v1.2.5 → v1.3.0)。启动后看日志首行,或直接运行:
-
frankenphp --version—— 输出形如FrankenPHP v1.3.0 - 若报
command not found,先确认路径:which frankenphp
注意:这个版本号和镜像 tag 无强绑定,:latest 镜像里可能打包了不同 patch 版本的二进制,所以不能只信 tag,要以 --version 实际输出为准。



















