本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Drupal 是一个免费开源的内容管理框架,使用 PHP 编写并基于 GNU 通用公共许可证分发。它被用作后端框架,支持全球至少 2.1% 的网站,涵盖个人博客、企业网站、政治和政府网站(如 WhiteHouse.gov 和 data.gov.uk),也用于知识管理和业务协作。
本镜像是 官方 Drupal 镜像 的 i386 架构版本,提供了在 i386 平台上运行 Drupal 的容器化解决方案,简化部署和管理流程。
直接运行容器(默认使用 SQLite 数据库,适合快速测试):
docker run --name some-drupal -d i386/drupal
将容器内 80 端口映射到主机 8080 端口,通过 http://localhost:8080 访问:
docker run --name some-drupal -p 8080:80 -d i386/drupal
Drupal 支持多种数据库,以下为常用数据库的配置步骤。
docker network create some-network # 创建网络(若未创建) 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=rootpass \ # root 密码 mysql:5.7
docker run --name some-drupal --network some-network -p 8080:80 -d i386/drupal
drupal/user/password(与 MySQL 容器环境变量对应)some-mysql(同一网络内容器可通过容器名访问)docker network create some-network # 若未创建网络 docker run -d --name some-postgres --network some-network \ -e POSTGRES_DB=drupal \ # 数据库名 -e POSTGRES_USER=user \ # 数据库用户 -e POSTGRES_PASSWORD=password \ # 用户密码 postgres:11
docker run --name some-drupal --network some-network -p 8080:80 -d i386/drupal
drupal/user/password(与 PostgreSQL 容器环境变量对应)some-postgresDrupal 的模块、主题、配置等文件需持久化存储,推荐使用 Docker 卷或绑定挂载。
# 创建本地目录 mkdir -p /path/on/host/{modules,profiles,sites,themes} # 复制容器内 sites 目录内容到本地(其他目录默认为空,可直接挂载) docker run --rm i386/drupal tar -cC /var/www/html/sites . | tar -xC /path/on/host/sites
docker run --name some-drupal --network some-network -d \ -v /path/on/host/modules:/var/www/html/modules \ -v /path/on/host/profiles:/var/www/html/profiles \ -v /path/on/host/sites:/var/www/html/sites \ -v /path/on/host/themes:/var/www/html/themes \ -p 8080:80 \ i386/drupal
# 创建卷 docker volume create drupal-modules docker volume create drupal-profiles docker volume create drupal-sites docker volume create drupal-themes # 初始化 sites 卷(复制容器内默认内容) docker run --rm -v drupal-sites:/temporary/sites i386/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 \ -p 8080:80 \ i386/drupal
以下是结合 PostgreSQL 数据库的 compose.yaml 示例:
# Drupal + PostgreSQL 部署示例 # 访问地址:http://localhost:8080 # 初始化时数据库配置:类型=PostgreSQL,数据库名=postgres,用户名=postgres,密码=example,主机名=postgres services: drupal: image: i386/drupal:10-apache # 使用 i386 架构的 Drupal 镜像 ports: - "8080:80" # 端口映射 volumes: - drupal-modules:/var/www/html/modules - drupal-profiles:/var/www/html/profiles - drupal-sites:/var/www/html/sites # 自动初始化卷内容 - drupal-themes:/var/www/html/themes restart: always # 自动重启 postgres: image: postgres:16 # PostgreSQL 数据库 environment: POSTGRES_PASSWORD: example # 数据库密码 restart: always # 自动重启 volumes: drupal-modules: drupal-profiles: drupal-sites: drupal-themes:
启动命令:
docker compose up -d
本镜像不包含额外 PHP 扩展,若需添加(如 gd、mysqli 等),需基于本镜像构建自定义镜像。参考 php 镜像文档,示例 Dockerfile:
FROM i386/drupal:10-apache # 安装 gd 扩展及依赖 RUN apt-get update && apt-get install -y \ libfreetype6-dev \ libjpeg62-turbo-dev \ libpng-dev \ && docker-php-ext-configure gd --with-freetype --with-jpeg \ && docker-php-ext-install -j$(nproc) gd
参考 php 镜像文档的“以任意用户运行”部分,通过调整文件权限或使用 --user 参数运行非 root 用户容器。
i386/drupal:<version>默认镜像,基于 Apache 服务器,适合大多数场景。标签中的 bookworm、trixie 等为 Debian 发行版代号,指定基础系统版本,建议生产环境显式指定以避免依赖变更。
i386/drupal:<version>-fpm包含 PHP-FPM(FastCGI 进程管理器),需配合反向代理(如 Nginx、Apache)使用。注意:PHP-FPM 协议不加密,仅用于私有容器网络,避免直接暴露端口。
| 数据库类型 | 环境变量 | 说明 |
|---|---|---|
| MySQL | MYSQL_DATABASE | 数据库名称 |
| MySQL | MYSQL_USER | 数据库用户 |
| MySQL | MYSQL_PASSWORD | 用户密码 |
| MySQL | MYSQL_ROOT_PASSWORD | root 用户密码(可选) |
| PostgreSQL | POSTGRES_DB | 数据库名称 |
| PostgreSQL | POSTGRES_USER | 数据库用户 |
| PostgreSQL | POSTGRES_PASSWORD | 用户密码 |
完整标签列表请参考 官方文档。
Drupal 软件遵循 GNU 通用公共许可证。镜像中包含的其他软件(如 Debian 基础系统组件)可能遵循不同许可证,详细信息见 repo-info 仓库。使用前请确保符合所有软件的许可证要求。

免费版仅支持 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