You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker环境下无法执行drush cim命令的问题求助

问题解答

一、Docker环境下执行drush cim的方法

你的Docker栈中,drush工具集成在php容器里(使用的wodby/drupal-php镜像自带Drush),执行命令有两种方式:

方式1:直接在宿主机执行容器命令

在项目根目录(docker-compose.yml所在目录)运行:

# 直接执行配置导入命令,指定Drupal根目录为/web
docker-compose exec php drush -r /var/www/html/web cim

如果需要先确认Drush可用,可先测试:

docker-compose exec php drush -r /var/www/html/web status

方式2:进入php容器后执行命令

先进入容器的交互式终端:

docker-compose exec php bash

进入后切换到Drupal根目录,再执行命令:

cd /var/www/html/web
drush cim

二、localhost:8000访问异常的排查方向

按以下步骤逐一排查:

1. 检查容器运行状态

先确认所有服务是否正常启动:

docker-compose ps

如果有服务状态不是Up,查看对应服务的日志定位问题:

# 查看nginx日志
docker-compose logs nginx
# 查看php日志
docker-compose logs php
# 查看数据库日志
docker-compose logs mariadb

2. 验证Drupal代码目录结构

你的nginx配置中NGINX_SERVER_ROOT设为/var/www/html/web,意味着容器内的/var/www/html/web必须是Drupal的核心根目录(包含index.php、modules、themes等文件夹)。检查本地项目根目录下是否存在web文件夹,且里面有完整的Drupal代码。

3. 确认数据库连接配置

Drupal的settings.php文件中,数据库配置需要和docker-compose.yml中的环境变量匹配:

  • 数据库主机:mariadb(容器间通过服务名通信,不能用localhost)
  • 数据库名:对应DB_NAME变量值
  • 用户名:对应DB_USER变量值
  • 密码:对应DB_PASSWORD变量值

4. 检查文件权限

wodby镜像对文件权限有要求,容器内的/var/www/html/web目录需要正确的读写权限。进入php容器执行权限修复:

docker-compose exec php chown -R www-data:www-data /var/www/html/web

5. 检查PHP依赖与扩展

如果Drupal代码依赖特定PHP扩展,确认wodby/drupal-php镜像是否包含所需扩展,或者查看php日志中的相关报错信息。

内容的提问来源于stack exchange,提问作者Bohdan V.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 23:55:22