Docker环境下WP CLI无法访问WordPress文件,执行Acorn命令报错求助
问题解决步骤
1. 修复Docker Compose卷挂载不一致问题
当前wordpress服务未将核心文件挂载到共享的wordpress卷,导致wpcli容器挂载的卷为空,无法获取WordPress核心文件。修改wordpress服务的volumes配置,新增共享卷挂载:
services: wordpress: # 保留原有其他配置 volumes: - wordpress:/var/www/html # 新增该行,让核心文件存入共享卷 - ./src/plugins:/var/www/html/wp-content/plugins - ./src/themes:/var/www/html/wp-content/themes
修改后重启所有服务:
docker-compose down -v docker-compose up -d
2. 验证wpcli容器的文件路径
进入wpcli容器,确认核心文件已存在:
docker exec -it wpcli bash ls -la /var/www/html
正常情况下会看到wp-config.php、wp-admin等核心文件目录。
3. 确保Acorn命令可被WP CLI识别
Acorn是Sage主题的依赖,需完成以下操作:
- 进入wpcli容器,切换到Sage主题目录执行依赖安装:
docker exec wpcli bash -c "cd /var/www/html/wp-content/themes/[你的Sage主题目录名] && composer install" - 先激活Sage主题,确保Acorn命令被注册:
docker exec wpcli wp theme activate [你的Sage主题slug] --path=/var/www/html - 再次执行目标Acorn命令:
docker exec wpcli wp acorn acf:options ThemeOptions --path=/var/www/html
4. 处理Windows环境权限问题(可选)
Windows下Docker卷挂载可能存在权限异常,可调整wpcli用户配置或修复目录权限:
- 修改wpcli服务的用户为
www-data:wpcli: # 保留原有其他配置 user: www-data:www-data - 或直接在容器内修复目录权限:
docker exec wpcli chown -R www-data:www-data /var/www/html
内容的提问来源于stack exchange,提问作者rayncorg
相关产品推荐
相关产品推荐

