如果你使用 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://hub.docker.com/_/drupal 的 arm32v7 架构专用仓库。更多信息请参见官方镜像文档中的 https://github.com/docker-library/official-images#architectures-other-than-amd64 和官方镜像 FAQ 中的 https://github.com/docker-library/faq#an-images-source-changed-in-git-now-what%E3%80%82
https://github.com/docker-library/drupal%EF%BC%88**%E9%9D%9E** Drupal 社区或 Drupal 安全团队)
Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
注意:本镜像描述长度超过 Hub 的 25000 字符限制,因此"支持的标签"列表已被截断。详见 https://github.com/docker/hub-feedback/issues/238 和 https://github.com/docker/roadmap/issues/475%E3%80%82
https://github.com/docker-library/drupal/issues?q=
(https://github.com/docker-library/official-images#architectures-other-than-amd64)
https://hub.docker.com/r/amd64/drupal/%E3%80%81https://hub.docker.com/r/arm32v6/drupal/%E3%80%81https://hub.docker.com/r/arm32v7/drupal/%E3%80%81https://hub.docker.com/r/arm64v8/drupal/%E3%80%81https://hub.docker.com/r/i386/drupal/%E3%80%81https://hub.docker.com/r/ppc64le/drupal/%E3%80%81https://hub.docker.com/r/riscv64/drupal/%E3%80%81https://hub.docker.com/r/s390x/drupal/
https://github.com/docker-library/repo-info/blob/master/repos/drupal%EF%BC%88https://github.com/docker-library/repo-info/commits/master/repos/drupal%EF%BC%89
(包含镜像元数据、传输大小等)
https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fdrupal
https://github.com/docker-library/official-images/blob/master/library/drupal%EF%BC%88https://github.com/docker-library/official-images/commits/master/library/drupal%EF%BC%89
https://github.com/docker-library/docs/tree/master/drupal%EF%BC%88https://github.com/docker-library/docs/commits/master/drupal%EF%BC%89
Drupal 是一个免费开源的内容管理框架,采用 PHP 编写并基于 GNU 通用公共许可证分发。全球至少 2.1% 的网站使用 Drupal 作为后端框架,涵盖个人博客、企业网站、网站及网站(如 ***.gov 和 ***),也用于知识管理和业务协作。
***.org/wiki/Drupal
!https://raw.githubusercontent.com/docker-library/docs/e405066455691ca2429eb8094777f12d2dad8f91/drupal/logo.svg?sanitize=true
启动 drupal 实例的基本命令模式:
console$ docker run --name some-drupal -d arm32v7/drupal
若需从主机直接访问实例(无需通过容器 IP),可使用标准端口映射:
console$ docker run --name some-drupal -p 8080:80 -d arm32v7/drupal
随后通过浏览器访问 http://localhost:8080 或 http://主机IP:8080。
本镜像支持多种数据库类型,通常通过 Docker 网络实现互联。默认配置下,可使用 SQLite 数据库(无需额外容器,直接写入扁平文件)。以下为不同数据库类型(更适合生产环境)的详细配置说明。
首次访问镜像提供的 Web 服务时,将进入简短的安装流程。下文详细说明配置过程中的"数据库设置"步骤。
使用 MySQL 数据库时,需先启动 https://hub.docker.com/_/mysql/ 容器,并通过环境变量配置 MYSQL_DATABASE、MYSQL_USER、MYSQL_PASSWORD 和 MYSQL_ROOT_PASSWORD:
console$ docker run -d --name some-mysql --network some-network \ -e MYSQL_DATABASE=drupal \ -e MYSQL_USER=user \ -e MYSQL_PASSWORD=password \ -e MYSQL_ROOT_PASSWORD=password \ mysql:5.7
在 Drupal 安装向导的"数据库设置"步骤中,输入上述环境变量配置的值:
<访问 MySQL 实例的详情>(即 MYSQL_USER、MYSQL_PASSWORD、MYSQL_DATABASE;详见 https://hub.docker.com/_/mysql/%EF%BC%89some-mysql(同一 docker-network 中的容器可通过容器名称相互访问)使用 PostgreSQL 数据库时,需启动 https://hub.docker.com/_/postgres 容器,并配置 POSTGRES_DB、POSTGRES_USER 和 POSTGRES_PASSWORD 环境变量:
console$ docker run -d --name some-postgres --network some-network \ -e POSTGRES_DB=drupal \ -e POSTGRES_USER=user \ -e POSTGRES_PASSWORD=pass \ postgres:11
在 Drupal 安装向导的"数据库设置"步骤中,输入上述环境变量配置的值:
PostgreSQL<访问 PostgreSQL 实例的详情>(即 POSTGRES_USER、POSTGRES_PASSWORD、POSTGRES_DB;详见 https://hub.docker.com/_/postgres/%EF%BC%89some-postgres(同一 docker-network 中的容器可通过容器名称相互访问)默认情况下,本镜像不包含任何卷定义。关于卷配置的详细讨论参见 https://github.com/docker-library/drupal/issues/3%EF%BC%88%E6%8E%A8%E8%8D%90%E9%98%85%E8%AF%BB%EF%BC%89%E3%80%82
社区共识认为 /var/www/html/modules、/var/www/html/profiles 和 /var/www/html/themes 通常应配置为卷(未来版本可能会显式声明 VOLUME),而 /var/www/html/sites 的处理较为复杂,因其内容需从镜像初始化。
使用绑定挂载(bind-mounts)
若使用绑定挂载,可通过以下命令预初始化主机的 sites 目录:
console$ docker run --rm arm32v7/drupal tar -cC /var/www/html/sites . | tar -xC /主机路径/sites
然后将其挂载到新容器:
console$ docker run --name some-drupal --network some-network -d \ -v /主机路径/modules:/var/www/html/modules \ -v /主机路径/profiles:/var/www/html/profiles \ -v /主机路径/sites:/var/www/html/sites \ -v /主机路径/themes:/var/www/html/themes \ arm32v7/drupal
使用 Docker Volumes
console$ docker volume create drupal-sites $ docker run --rm -v drupal-sites:/temporary/sites arm32v7/drupal cp -aRT /var/www/html/sites /temporary/sites $ docker run --name some-drupal --network some-network -d \ -v drupal-modules:/var/www/html/modules \ -v drupal-profiles:/var/www/html/profiles \ -v drupal-sites:/var/www/html/sites \ -v drupal-themes:/var/www/html/themes \ arm32v7/drupal
drupal 的 compose.yaml 示例:
yaml# Drupal 与 PostgreSQL # # 通过 "http://localhost:8080" 访问 # # 初始化安装时: # 数据库类型:PostgreSQL # 数据库名称:postgres # 数据库用户名:postgres # 数据库密码:example # 高级选项;数据库主机:postgres services: drupal: image: arm32v7/drupal:10-apache ports: - 8080:80 volumes: - /var/www/html/modules - /var/www/html/profiles - /var/www/html/themes # 利用 Docker 特性:新的匿名卷会用镜像中对应路径的内容初始化 - /var/www/html/sites restart: always postgres: image: postgres:16 environment: POSTGRES_PASSWORD: example restart: always
运行 docker compose up,等待初始化完成后,通过 http://localhost:8080 或 http://主机IP:8080 访问。安装时选择 postgres 数据库,参数如下:dbname=postgres、user=postgres、pass=example、hostname=postgres。
本镜像不包含任何额外 PHP 扩展或库,即使是热门插件所需的依赖。由于插件数量众多且可能依赖任意 PHP 扩展,包含所有扩展会大幅增加镜像体积。
如需添加 PHP 扩展,需基于本镜像构建自定义镜像。https://github.com/docker-library/docs/blob/master/php/README.md#how-to-install-more-php-extensions 详细说明如何编译扩展。此外,https://github.com/docker-library/drupal/blob/bee08efba505b740a14d68254d6e51af7ab2f3ea/7/Dockerfile#L6-9 提供了实际示例。
Docker Hub 的以下功能可帮助保持依赖镜像更新:
参见 https://hub.docker.com/_/php/%E3%80%82
arm32v7/drupal 镜像提供多种变体,适用于不同场景:
arm32v7/drupal:<version>默认镜像。若不确定需求,建议使用此变体。既可作为临时容器(挂载源码并启动应用),也可作为基础镜像构建其他镜像。
部分标签可能包含 bookworm 或 trixie 等名称,这些是 Debian 的发行版代号,表示镜像基于该版本构建。若需安装额外软件包,建议显式指定发行版代号以减少版本变更风险。
arm32v7/drupal:<version>-fpm此变体包含 PHP FastCGI 进程管理器(FPM),是推荐的 PHP FastCGI 实现。
使用此变体需配合反向代理(如 NGINX、Apache 或其他支持 FastCGI 协议的工具)。
参考资源:
警告:FastCGI 协议本身缺乏安全性,在私有容器网络外暴露极度危险——除非明确了解风险并接受后果,否则不要使用 Docker 的 --publish(-p)标志发布此变体的端口。
查看本镜像包含软件的 许可信息。
与所有 Docker 镜像一样,本镜像可能包含其他软件(如基础发行版的 Bash 等),这些软件可能采用其他许可证。
自动检测到的额外许可信息可在 https://github.com/docker-library/repo-info/tree/master/repos/drupal 中找到。
对于预构建镜像的使用,镜像用户有责任确保其使用符合所有包含软件的相关许可证要求。
以下是 arm32v7/drupal 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

来自真实用户的反馈,见证轩辕镜像的优质服务