Docker部署WordPress多站点升级PHP8.0报docker-entrypoint.sh错误如何解决
错误根因
你遇到的docker-entrypoint.sh executable file not found报错,本质是容器运行时在指定路径下没有找到对应的入口脚本文件,原因是你修改官方Dockerfile时删除了前置的脚本复制逻辑,仅保留了最后几行执行配置,导致脚本没有被放入容器的正确路径下。
修复步骤
- 还原Dockerfile的脚本复制逻辑
官方原版Dockerfile中存在COPY docker-entrypoint.sh /usr/local/bin/的前置指令,不能删除。如果你是自建Dockerfile,需要先将官方对应版本的docker-entrypoint.sh文件放到和Dockerfile同级的构建目录下,再在Dockerfile中添加该COPY指令。 - 修正入口脚本的路径配置
不要用相对路径./docker-entrypoint.sh,改用绝对路径避免WORKDIR变动导致的路径错误,修改后的对应代码段为:
COPY docker-entrypoint.sh /usr/local/bin/ RUN ["chmod", "+x", "/usr/local/bin/docker-entrypoint.sh"] ENTRYPOINT ["docker-entrypoint.sh"] CMD ["apache2-foreground"]
- 重新构建镜像启动
执行命令清理旧缓存重新构建镜像:docker-compose build --no-cache wordpress
构建完成后再启动服务:docker-compose up -d
迁移兼容提示
- WordPress 5.6对PHP8.0的支持不完善,建议同步将WordPress核心升级到5.9及以上版本,避免出现功能兼容报错
- 迁移前请提前备份全量站点数据和数据库,避免多站点配置丢失
内容的提问来源于stack exchange,提问作者Aaditya Goenka
相关产品推荐
相关产品推荐

