我无法在我的 docker wordpress 安装中升级我的 PHP 版本

I am unable to upgrade my PHP version in my docker wordpress installation

我正在尝试将我现有的多站点网络移动到 Docker/Kubernetes 设置以便于备份和管理。 我在

处设置了环境

MYSQL : 5.7.2

PHPMYADMIN:最新

WordPress:5.6(本次安装的PHP版本是7.3,我需要更新) 我想升级到 PHP 8.0.0

有人建议我使用我使用的 docker 文件, --> https://github.com/docker-library/wordpress/blob/5bbbfa8909232af10ea3fea8b80302a6041a2d04/latest/php8.0/apache/Dockerfile 当 运行 在第 149 行进行更正时:

    RUN ["chmod", "+x", "docker-entrypoint.sh"]
    ENTRYPOINT ["./docker-entrypoint.sh"]
    CMD ["apache2-foreground"]

我收到以下错误,

ERROR: for wordpress Cannot start service wordpress: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "docker-entrypoint.sh": executable file not found in $PATH: unknown ERROR: Encountered errors while bringing up the project. PS C:\Users\dev> docker-compose up -d dev_db_1 is up-to-date Starting dev_wordpress_1 ... Starting dev_wordpress_1 ... error

ERROR: for dev_wordpress_1 Cannot start service wordpress: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "docker-entrypoint.sh": executable file not found in $PATH: unknown
ERROR: for wordpress Cannot start service wordpress: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "docker-entrypoint.sh": executable file not found in $PATH: unknown ERROR: Encountered errors while bringing up the project.

我需要你的帮助来获取我的 WordPress 图片 运行,我不确定这 (docker-entrypoint.sh) 包含什么,或者将它放在哪里。

非常感谢您的帮助和指导。

此致, 阿迪提亚

您可以在 https://github.com/docker-library/wordpress/tree/5bbbfa8909232af10ea3fea8b80302a6041a2d04/latest/php8.0/apache 找到脚本 docker-entrypoint.sh,与您获取 Docker 文件的文件夹相同。

docker-entrypoint.sh 是加载 Docker 图像后执行的脚本(顾名思义,它是图像入口点)。

我可以使用 PHP 8.0 和 Apache 使用以下命令构建和加载 Wordpress 图像:

git clone https://github.com/docker-library/wordpress.git
cd wordpress/latest/php8.0/apache
podman build -t wordpress_php8 .
podman run --rm -it -p 8000:80 localhost/wordpress_php8:latest

现在我可以连接到站点 http://127.0.0.1:8000/

无需更正。

请注意,如果您愿意,可以使用 docker 而不是 podman

也适用于这个简单的 docker-compose 文件:

version: "3.9"
services:
  wordpress:
    build:
      context: "./"
      dockerfile: Dockerfile
    ports:
      - "8000:80"

sudo docker-compose up.

实际上,您不应该尝试在 docker 容器内更新 php。 相反,找出容器是如何构建的,然后构建一个包含您想要的 php 版本的容器。这将使图像保持简单和小。