如何更新AWS环境下的WordPress Dockerfile以使用PHP 8?
解决WordPress 6.0镜像升级到PHP8的问题
正确的Dockerfile写法
要使用WordPress官方提供的、基于PHP8的对应版本镜像,官方镜像标签格式为wordpress:<WP版本>-php<PHP版本>-apache,针对你的需求,正确的FROM指令及完整Dockerfile如下:
FROM wordpress:6.0-php8.0-apache ARG ENV=production RUN apt-get update && apt-get install -y \ bash \ curl \ python \ unzip \ webpack \ git \ && cd /tmp \ && curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.188.zip" -o "awscli-bundle.zip" \ && unzip awscli-bundle.zip \ && ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws \ && rm awscli-bundle.zip \ && rm -rf awscli-bundle \ && rm -rf /tmp/src \ && rm -rf /var/lib/apt/lists/* # 替换原apk缓存清理命令,该镜像基于Debian而非Alpine
你之前的错误原因
- 双FROM指令问题:
FROM wordpress:6.0+FROM php:8.0-apache属于多阶段构建,但你未将WordPress核心文件复制到第二个镜像中,最终构建出的镜像只有PHP+Apache环境,丢失了WordPress核心代码,无法正常运行。 - 错误的镜像标签格式:
wordpress:6.0:php:8.0-apache不是合法的Docker镜像标签,Docker镜像标签仅支持一个冒号分隔仓库与标签,多版本信息需用连字符拼接,需遵循官方镜像命名规则。
内容的提问来源于stack exchange,提问作者jfc
相关产品推荐
相关产品推荐

