
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
!https://img.shields.io/github/last-commit/alchatti/drupal-devcontainer-image?style=for-the-badge !https://img.shields.io/docker/pulls/alchatti/drupal-devcontainer?style=for-the-badge
!https://img.shields.io/badge/Docker-2CA5E0?style=for-the-badge&logo=docker&logoColor=white !https://img.shields.io/badge/PHP-777BB4?style=for-the-badge&logo=php&logoColor=white !https://img.shields.io/badge/Node.js-339933?style=for-the-badge&logo=nodedotjs&logoColor=white !https://img.shields.io/badge/Drupal-0678BE?style=for-the-badge&logo=drupal&logoColor=white !https://img.shields.io/badge/Ubuntu-E95420?style=for-the-badge&logo=ubuntu&logoColor=white !https://img.shields.io/badge/apple%20silicon-333333?style=for-the-badge&logo=apple&logoColor=white !https://img.shields.io/badge/VSCode-0078D4?style=for-the-badge&logo=visual%20studio%20code&logoColor=white
!https://badgen.net/docker/stars/alchatti/drupal-devcontainer?icon=docker&label=stars !https://img.shields.io/docker/image-size/alchatti/drupal-devcontainer/7.4?label=7.4&logo=PHP !https://img.shields.io/docker/image-size/alchatti/drupal-devcontainer/8.1?label=8.1&logo=PHP !https://img.shields.io/docker/image-size/alchatti/drupal-devcontainer/8.1?label=8.2&logo=PHP
https://github.com/alchatti/drupal-devcontainer-image/actions/workflows/build-and-push.yml/badge.svg?branch=main](https://github.com/alchatti/drupal-devcontainer-image/actions/workflows/build-and-push.yml) https://github.com/alchatti/drupal-devcontainer-image/actions/workflows/update-container-description.yml/badge.svg](https://github.com/alchatti/drupal-devcontainer-image/actions/workflows/update-container-description.yml)
基于Microsoft PHP devcontainer镜像构建的Drupal开发容器。
https://code.visualstudio.com/docs/remote/containers%E9%95%9C%E5%83%8F%E6%98%AF%E7%94%A8%E4%BA%8E%E5%9C%A8%E5%AE%B9%E5%99%A8%E5%86%85%E8%BF%9B%E8%A1%8C%E5%BC%80%E5%8F%91%E7%9A%84%E9%95%9C%E5%83%8F%EF%BC%8C%E9%A2%84%E8%A3%85%E4%BA%86%E5%BC%80%E5%8F%91Drupal%E5%92%8CNode.js%E9%A1%B9%E7%9B%AE%E6%89%80%E9%9C%80%E7%9A%84%E5%B7%A5%E5%85%B7%E3%80%82
该镜像可独立使用,推荐配合https://github.com/alchatti/drupal-devcontainer%E4%B8%8EVS Code使用,以获得交互式开发体验,并自动安装必要的扩展。
基础Drupal项目示例可参考https://github.com/alchatti/drupal-devcontainer-sample-project%E3%80%82
容器的开发功能针对vscode用户配置,这是Microsoft基础镜像提供的非root用户。
Apache服务器将通过启动脚本中的
apache2ctl start命令启动
Xdebug端口为
9003,这是https://xdebug.org/docs/all_settings#client_port%E3%80%82
Drupal 10可使用SQLite安装,无需额外数据库容器。
为获得最佳开发体验,请以vscode用户启动容器。主机名drupal-dev可替换为其他名称。
drupal-dev-html以持久化站点安装:bashdocker run --rm -it \ -h "drupal-dev" \ -u "vscode" \ -p 80:80 \ -v "drupal-dev-html:/var/www/html" \ alchatti/drupal-devcontainer:8.1 fish
容器初始化完成后,访问http://localhost可查看PHP信息页面。
可使用init.sh命令创建新的Drupal 10站点。选择SQLite作为数据库选项可实现独立镜像运行。此脚本基于Acquia配置,也可手动设置Drupal。
bashinit.sh
Drupal安装完成后,访问http://localhost开始配置Drupal。
演示场景下,选择“Demo: Umami Food Magazine (Experimental)”作为安装配置文件。
数据库选择SQLite,数据库文件使用默认路径sites/default/files/.ht.sqlite。
配置站点,设置admin用户名和密码。
访问http://localhost即可查看Drupal站点。
退出容器并停止服务:
bashexit
bashdocker volume rm drupal-dev-html
POSH_THEME_ENVIRONMENT更改shell为zsh并设置主题为'blue-owl',更多主题选项参见https://ohmyposh.dev/docs/themes%EF%BC%9Abashdocker run --rm -it \ -e POSH_THEME_ENVIRONMENT='blue-owl' \ -h "drupal-dev" \ -u "vscode" \ -p 80:80 \ -v "drupal-dev-html:/var/www/html" \ alchatti/drupal-devcontainer:8.1 zsh
特定版本构建的标签格式为$php-$datetime。
可用标签:
8.2:包含PHP 8.2、最新Node.js和构建时的最新Composer。8.1:包含PHP 8.1、最新Node.js和构建时的最新Composer。旧版/已弃用标签:
7.4:包含PHP 7.4、最新Node.js和构建时的最新Composer。(最后构建时间:2023年12月1日)也可使用时间戳标签定位特定构建版本,详见https://hub.docker.com/r/alchatti/drupal-devcontainer/tags%E3%80%82
该镜像针对PHP 8.1和8.2的最新版本构建,包含最新Node.js。
bash# 以JSON格式打印镜像包版本/标签信息 about | jq # 使用drush创建带时间戳的数据库转储,并存储到/var/www/html/dump目录 dump.sh # 使用acli下载最新的Acquia云数据库备份 acli-dump.sh
基础镜像已包含Zsh、https://httpd.apache.org/%E3%80%81https://xdebug.org/%E3%80%81https://getcomposer.org/%EF%BC%8C%E9%A2%9D%E5%A4%96%E9%A2%84%E8%A3%85%E4%BB%A5%E4%B8%8B%E8%BD%AF%E4%BB%B6%E5%8C%85%EF%BC%9A
Drupal开发工具
Acquia工具
前端开发工具
终端增强工具:
Git增强工具:
以下环境变量用于自定义配置:
bash# Apache环境变量默认值 ENV APACHE_SERVER_NAME "localhost" ENV APACHE_DOCUMENT_ROOT "docroot" ENV WORKSPACE_ROOT "/var/www/html" # Oh My Posh默认主题环境变量 ENV POSH_THEME_ENVIRONMENT "ys"
构建流程通过GitHub Actions工作流自动化,包含两个脚本:
build.sh:根据PHP、Node、Sass版本构建镜像,参数如下:
-p:PHP版本(如7或8)-n:Node.js版本,node表示最新版,--lts表示LTS版本test.sh:加载最新本地构建镜像
工作流按计划执行,也可在推送到main分支时触发,或通过GitHub手动触发。
fish通过仓库安装2→42→32.0.0→33→5peter-evans/dockerhub-description@v3(持续维护版本)APACHE_DOCUMENT_ROOT和WORKSPACE_ROOT,以在/etc/apache2/sites-available/*.conf中生效git-quick-statsfish更新至3.6.4-1about脚本可打印基础镜像OS版本arm64架构(PHP 8.1和7.4)fish与nvm的兼容性问题您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务