本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
本镜像为 drupal 官方镜像 的 arm32v7 架构专用仓库。更多信息请参见官方镜像文档中的 "非 amd64 架构说明" 和官方镜像 FAQ 中的 "镜像源码在 Git 中变更后如何处理?"。
Docker 社区(非 Drupal 社区或 Drupal 安全团队)
Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
注意:本镜像描述长度超过 Hub 的 25000 字符限制,因此"支持的标签"列表已被截断。详见 docker/hub-feedback#238 和 docker/roadmap#475。
[***]
(更多信息)
amd64、arm32v6、arm32v7、arm64v8、i386、ppc64le、riscv64、s390x
repo-info 仓库的 repos/drupal/ 目录(历史记录)
(包含镜像元数据、传输大小等)
official-images 仓库的 library/drupal 标签
official-images 仓库的 library/drupal 文件(历史记录)
docs 仓库的 drupal/ 目录(历史记录)
Drupal 是一个免费开源的内容管理框架,采用 PHP 编写并基于 GNU 通用公共许可证分发。全球至少 2.1% 的网站使用 Drupal 作为后端框架,涵盖个人博客、企业网站、政治网站及政府网站(如 WhiteHouse.gov 和 data.gov.uk),也用于知识管理和业务协作。
***.org/wiki/Drupal
!logo
启动 drupal 实例的基本命令模式:
$ docker run --name some-drupal -d arm32v7/drupal
若需从主机直接访问实例(无需通过容器 IP),可使用标准端口映射:
$ docker run --name some-drupal -p 8080:80 -d arm32v7/drupal
随后通过浏览器访问 http://localhost:8080 或 [***]。
本镜像支持多种数据库类型,通常通过 Docker 网络实现互联。默认配置下,可使用 SQLite 数据库(无需额外容器,直接写入扁平文件)。以下为不同数据库类型(更适合生产环境)的详细配置说明。
首次访问镜像提供的 Web 服务时,将进入简短的安装流程。下文详细说明配置过程中的"数据库设置"步骤。
使用 MySQL 数据库时,需先启动 MySQL 容器,并通过环境变量配置 MYSQL_DATABASE、MYSQL_USER、MYSQL_PASSWORD 和 MYSQL_ROOT_PASSWORD:
$ 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;详见 mysql 镜像的环境变量说明)some-mysql(同一 docker-network 中的容器可通过容器名称相互访问)使用 PostgreSQL 数据库时,需启动 Postgres 容器,并配置 POSTGRES_DB、POSTGRES_USER 和 POSTGRES_PASSWORD 环境变量:
$ 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;详见 postgres 镜像的环境变量说明)some-postgres(同一 docker-network 中的容器可通过容器名称相互访问)默认情况下,本镜像不包含任何卷定义。关于卷配置的详细讨论参见 docker-library/drupal#3(推荐阅读)。
社区共识认为 /var/www/html/modules、/var/www/html/profiles 和 /var/www/html/themes 通常应配置为卷(未来版本可能会显式声明 VOLUME),而 /var/www/html/sites 的处理较为复杂,因其内容需从镜像初始化。
若使用绑定挂载,可通过以下命令预初始化主机的 sites 目录:
$ docker run --rm arm32v7/drupal tar -cC /var/www/html/sites . | tar -xC /主机路径/sites
然后将其挂载到新容器:
$ 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 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
docker composedrupal 的 compose.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 或 [***] 访问。安装时选择 postgres 数据库,参数如下:dbname=postgres、user=postgres、pass=example、hostname=postgres。
本镜像不包含任何额外 PHP 扩展或库,即使是热门插件所需的依赖。由于插件数量众多且可能依赖任意 PHP 扩展,包含所有扩展会大幅增加镜像体积。
如需添加 PHP 扩展,需基于本镜像构建自定义镜像。php 镜像文档 详细说明如何编译扩展。此外,drupal:7 Dockerfile 提供了实际示例。
Docker Hub 的以下功能可帮助保持依赖镜像更新:
参见 php 镜像文档的"以任意用户运行"部分。
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 等),这些软件可能采用其他许可证。
自动检测到的额外许可信息可在 repo-info 仓库的 drupal/ 目录 中找到。
对于预构建镜像的使用,镜像用户有责任确保其使用符合所有包含软件的相关许可证要求。

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429