
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该项目由三个主要部分组成:
当前维护的版本包括:
latestlatest-arm64latest-arm32v7使用此Docker镜像最简单的方法是将项目中包含的docker-compose.yml文件放在Drupal站点的根目录,根据需要自定义后运行:
bashdocker-compose up -d
之后可通过http://localhost/访问Drupal站点,首次安装时会显示Drupal安装界面。按照指引操作即可完成全新Drupal站点的搭建!
默认情况下,若未将Drupal代码库挂载到/var/www/html路径,镜像会将Drupal下载到该目录。如需覆盖此行为(例如,将代码库共享到/var/www/html/web或其他路径),可设置环境变量DRUPAL_DOWNLOAD_IF_NOT_PRESENT=false。
Drupal代码库
要将Drupal代码库放入容器,可通过Dockerfile的COPY命令,或挂载卷(例如在开发环境中使用镜像时)。包含的docker-compose.yml文件假设Drupal代码库位于./web路径,可自定义卷挂载指向Drupal文档根目录。
若未在容器的/var/www/html路径提供Drupal代码库,容器的docker-entrypoint.sh脚本会下载Drupal(使用DRUPAL_DOWNLOAD_VERSION)。默认使用Drupal的最新开发版本,可通过设置DRUPAL_DOWNLOAD_VERSION指定特定版本(例如8.5.3)。
settings.php中的设置
最佳实践是不在代码库中包含数据库凭证等敏感信息,因此此Docker容器建议通过运行时环境变量传入连接详情,可在Drupal站点的settings.php文件中通过getenv()获取。
例如,配置数据库连接时,传入DRUPAL_DATABASE_NAME等设置:
php$databases['default']['default'] = [ 'driver' => 'mysql', 'database' => getenv('DRUPAL_DATABASE_NAME'), 'username' => getenv('DRUPAL_DATABASE_USERNAME'), 'password' => getenv('DRUPAL_DATABASE_PASSWORD'), 'host' => getenv('DRUPAL_DATABASE_HOST'), 'port' => getenv('DRUPAL_DATABASE_PORT'), ];
还可设置DRUPAL_HASH_SALT环境变量以配置$settings['hash_salt']。
自定义Apache文档根
默认Apache文档根为/var/www/html。若代码库需要使用其他文档根(例如Composer构建的Drupal项目使用/var/www/html/web),可设置环境变量APACHE_DOCUMENT_ROOT指定相应目录,容器启动时会自动修改文档根。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 geerlingguy/drupal 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: