
本文详解为何 wordpress:php8.1-fpm 镜像仍运行 PHP 7.3,以及如何彻底清除旧容器、强制使用指定 PHP 版本镜像的完整操作流程。
本文详解为何 wordpress:php8.1-fpm 镜像仍运行 php 7.3,以及如何彻底清除旧容器、强制使用指定 php 版本镜像的完整操作流程。
在使用 Docker Compose 部署 WordPress 时,一个常见误区是:仅修改 image 字段(如设为 wordpress:php8.1-fpm)并不足以让已有容器升级 PHP 版本。这是因为 Docker Compose 默认会复用已存在的容器(即使镜像声明已变更),而旧容器底层仍基于启动时拉取的旧镜像(如 wordpress:php7.3-fpm)构建,其文件系统、PHP 二进制及扩展均固化在容器层中。
你观察到的现象——docker-compose up 同时拉取两个镜像(php7.3-fpm 和 php8.1-fpm),但容器内 php -v 仍显示 7.3——正是典型「镜像声明更新但容器未重建」导致的版本错位。
✅ 正确做法是:强制重建容器,而非仅重启。Docker Compose 提供了明确的命令来实现这一点:
# 1. 停止并彻底删除旧容器(关键!) docker-compose down # 2. 清理可能残留的构建缓存(可选但推荐,尤其当你还定义了自定义 build) docker-compose build --no-cache # 3. 重新创建并启动全新容器(将严格使用 image 字段指定的 php8.1-fpm 镜像) docker-compose up -d
⚠️ 注意事项:
需要创建、读取、编辑或处理 Word 文档(.docx / .dotx)时使用。触发词:'Word'、'word 文档'、'.docx'、'生成报告'、'制作合同/简历/方案/说明书'、'提取 word 内容'、'在文档里查找替换'、'给文档加页眉页脚/目录/表格'。也用于把任意内容排版成一份正式的 Word 文件。不要用它处理 PDF、Excel 或无关编程任务。中文创作场景尤其适合:小说大纲稿、投稿文档、合同、简历、工作总结。
立即学习“PHP免费学习笔记(深入)”;
- 不要仅执行
docker-compose restart或docker container start—— 这只会重启旧容器,PHP 版本不会改变; - 若你的
docker-compose.yml中同时存在build:和image:,Docker Compose 会优先使用build构建的镜像,此时image字段会被忽略。请确认是否误启用了本地构建逻辑(如Dockerfile内部仍基于php:7.3)。建议:若无需定制,直接删除build块,仅保留image: wordpress:php8.1-fpm; - 验证是否生效:进入容器执行
docker exec -it <container_name> php -v</container_name>,应输出PHP 8.1.x;同时可检查phpinfo()页面或运行docker exec -it <container_name> ls /usr/local/bin/php*</container_name>确认二进制路径。
? 补充提示:WordPress 官方镜像支持多 PHP 版本标签,完整列表见 Docker Hub - wordpress。推荐始终使用带明确 PHP 版本后缀的标签(如 php8.1-fpm、php8.2-apache),避免依赖 latest(默认指向 PHP 7.4 或更低版本,且不保证向后兼容)。
通过以上步骤,即可确保容器真正运行在目标 PHP 版本之上,为插件兼容性、安全更新与性能优化奠定可靠基础。


















