You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Docker部署的WordPress正确更新方法咨询

在Docker环境中正确更新WordPress的方案

你的问题戳中了Docker化WordPress更新的核心痛点——镜像版本与应用实际版本的一致性,这也是很多人刚接触Docker部署时容易踩的坑。我来给你梳理一套标准、可控的更新流程:

为什么不能直接后台手动更新?

官方WordPress镜像本身就打包了特定版本的WordPress核心文件。如果你直接在后台点击更新,本质是在运行中的容器内修改了核心文件,但这些修改是临时的——下次重启容器时,Docker会基于原镜像重新初始化容器,你的手动更新内容会被彻底覆盖。除非你把/var/www/html整个挂载到宿主机,但这种做法会破坏镜像的版本可控性,后续维护风险很高,官方并不推荐。

正确的更新步骤

  1. 确认目标镜像版本
    先确认官方镜像仓库中你要升级的稳定版标签(比如wordpress:6.4),确保选择的版本和当前环境兼容(比如PHP版本匹配)。

  2. 更新docker-compose配置
    修改你的docker-compose.yml文件,把WordPress服务的image字段替换为目标版本:

    services:
      wordpress:
        image: wordpress:6.4  # 替换成你要的版本标签
        # 其余配置(端口、环境变量、挂载卷等)保持不变
    
  3. 重新部署容器
    执行以下命令,让Docker Compose拉取新镜像并创建新容器:

    docker-compose up -d --force-recreate wordpress
    

    这里的--force-recreate参数会确保强制用新镜像启动容器,避免复用旧容器的状态。

  4. 数据库自动更新
    首次访问WordPress后台时,系统会自动检测数据库结构是否需要更新,按照提示完成即可——这个过程是WordPress原生的,只要容器能正常连接数据库,就不需要额外操作。

关键注意事项

  • 备份优先:更新前一定要备份数据库和挂载的自定义内容(主题、插件、上传文件)。导出数据库可以用这个命令:
    docker exec <你的数据库容器名> mysqldump -u<数据库用户名> -p<数据库密码> <WordPress数据库名> > wp_backup.sql
    
  • 不要修改容器内核心文件:所有自定义操作(比如安装主题、插件)都应该通过挂载卷的方式持久化,避免容器重启后丢失内容。

内容的提问来源于stack exchange,提问作者Stefan

火山引擎 最新活动