gpt4 book ai didi

wordpress - 如何在docker上更新wordpress

转载 作者:行者123 更新时间:2023-12-02 11:27:27 25 4
gpt4 key购买 nike

我正在运行 php-fpm wordpress 容器。

wordpress 源文件安装在与 Nginx 容器共享的命名卷“wordpress”中。

一切都运行良好,除了当我需要将 WordPress 更新到新版本时。指定卷内的代码仍然存在。对于命名卷来说这是正常的...

我可以手动删除该卷,但一定有更好的方法。

我的docker文件:

FROM wordpress:4.9.5-php5.6-fpm-alpine

我的 docker-compose.yml

version: '3.1'

services:

php:
build: ./docker/php/
restart: unless-stopped
volumes:
- wordpress:/var/www/html
- ./web/wp-content/:/var/www/html/wp-content/
- ./web/wp-config.php:/var/www/html/wp-config.php

environment:
- DEBUG=${DEBUG:-0}
- MYSQL_USER=$MYSQL_USER
- MYSQL_PASSWORD=$MYSQL_PASSWORD
- MYSQL_DATABASE=$MYSQL_DATABASE

nginx:
image: nginx:1-alpine
restart: unless-stopped
expose:
- 80
volumes:
- wordpress:/var/www/html
- ./web/wp-content/:/var/www/html/wp-content/
- ./docker/nginx/site.conf:/etc/nginx/conf.d/default.conf
- ./docker/nginx/wordpress.conf:/etc/nginx/wordpress.conf
environment:
- VIRTUAL_HOST=localhost

mysql:
image: mysql:5.6
restart: unless-stopped
environment:
- MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD
- MYSQL_USER=$MYSQL_USER
- MYSQL_PASSWORD=$MYSQL_PASSWORD
- MYSQL_DATABASE=$MYSQL_DATABASE
volumes:
- mysql:/var/lib/mysql

volumes:
wordpress: {}
mysql: {}

networks:
default:
external:
name: wordpress

期待阅读您的建议

谢谢

最佳答案

当 WordPress 容器启动时,它会检查 /var/www/html 中是否存在文件,并且仅在不存在时才进行复制。因此,在您的情况下,您可以更新 entrypoint 脚本来检查 /var/www/html 中的 wp-includes/version.php 中的 WordPress 版本 和容器中的文件,然后做出替换新文件的决定。

编辑:

根据this只需删除 index.phpwp-includes/version.php 就可以再次从容器中复制文件。或者,您可以更新 entrypoint 脚本以始终将文件复制到 /var/www/html,但如果您选择缩放 ,则可能会导致问题wordpress 层。

关于wordpress - 如何在docker上更新wordpress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50119409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com