专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

amd64/drupal Docker 镜像 - 轩辕镜像

镜像简介

Drupal是一款开源内容管理平台,支持数百万网站和应用的运行。

镜像统计信息

下载次数: 1474635

状态: active

发布者: amd64

类型: 镜像

drupal
amd64/drupal
Drupal是一款开源内容管理平台,支持数百万网站和应用的运行。
0 次下载activeamd64镜像
🚀专业版镜像服务,面向生产环境设计
版本下载
🚀专业版镜像服务,面向生产环境设计

Drupal Docker 镜像文档

镜像概述与主要用途

Drupal 是一个免费开源的内容管理框架,使用 PHP 编写并基于 GNU 通用公共许可证发布。它被用作后端框架,支持全球至少 2.1% 的网站,涵盖个人博客、企业网站、和站点(如 ***.gov 和 ***),也广泛用于知识管理和业务协作。

本 Docker 镜像是 Drupal 官方镜像的 amd64 架构专用版本,提供了便捷的 Drupal 应用部署方式,适用于快速搭建开发、测试和生产环境。

核心功能与特性

  • 多数据库支持:兼容 SQLite(默认,无需额外容器)、MySQL、PostgreSQL 等主流数据库
  • 跨架构兼容:支持 amd64、arm32v6、arm32v7、arm64v8、i386、ppc64le、riscv64、s390x 等架构
  • 灵活部署:支持独立容器运行、Docker 网络集成、数据卷挂载等多种部署模式
  • 镜像变体:提供基础版本和 FPM 版本,满足不同 Web 服务器架构需求
  • 可扩展性:支持通过自定义 Dockerfile 添加 PHP 扩展和额外依赖库
  • 安全可控:支持以非 root 用户运行,遵循 Docker 安全最佳实践

支持的标签

注意:由于镜像描述长度超过 Hub 25000 字符限制,"支持的标签"列表已被精简。完整标签列表请参见:
[***]

使用场景与适用范围

  • 个人博客:快速搭建个人内容发布平台
  • 企业网站:构建企业官网、产品展示平台
  • ***与机构站点:满足高安全性和可扩展性需求的官方网站
  • 开发环境:为 Drupal 主题、模块开发提供隔离的开发环境
  • 生产环境:通过配合数据库容器和反向代理,构建稳定的生产系统
  • 知识管理系统:搭建企业内部文档协作平台

详细使用方法与配置说明

基本使用

启动一个基础的 Drupal 实例:

console
$ docker run --name some-drupal -d amd64/drupal

如需从主机访问容器服务,可映射端口:

console
$ docker run --name some-drupal -p 8080:80 -d amd64/drupal

通过浏览器访问 http://localhost:8080 或 [***] 即可进入 Drupal 初始设置界面。首次访问时需完成安装向导,其中"数据库设置"步骤需根据实际数据库配置填写。

数据库配置
MySQL
  1. 启动 MySQL 容器并配置环境变量:
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
  1. 在 Drupal 安装向导的"数据库设置"步骤中填写:
    • 数据库类型:MySQL
    • 数据库名称:drupal(对应 MYSQL_DATABASE)
    • 数据库用户名:user(对应 MYSQL_USER)
    • 数据库密码:password(对应 MYSQL_PASSWORD)
    • 高级选项 > 数据库主机:some-mysql(同一 Docker 网络内的容器可通过容器名访问)
PostgreSQL
  1. 启动 PostgreSQL 容器并配置环境变量:
console
$ docker run -d --name some-postgres --network some-network \
    -e POSTGRES_DB=drupal \
    -e POSTGRES_USER=user \
    -e POSTGRES_PASSWORD=pass \
postgres:11
  1. 在 Drupal 安装向导的"数据库设置"步骤中填写:
    • 数据库类型:PostgreSQL
    • 数据库名称:drupal(对应 POSTGRES_DB)
    • 数据库用户名:user(对应 POSTGRES_USER)
    • 数据库密码:pass(对应 POSTGRES_PASSWORD)
    • 高级选项 > 数据库主机:some-postgres(同一 Docker 网络内的容器可通过容器名访问)
数据卷管理

Drupal 的模块、主题、配置等数据建议通过数据卷持久化存储。以下是两种常用方案:

方案一:使用绑定挂载(Bind Mounts)
  1. 首先导出容器内的初始 sites 目录到主机:
console
$ docker run --rm amd64/drupal tar -cC /var/www/html/sites . | tar -xC /path/on/host/sites
  1. 启动容器并挂载目录:
console
$ 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 \
    amd64/drupal
方案二:使用 Docker 数据卷(Volumes)
  1. 创建数据卷并初始化 sites 目录:
console
$ docker volume create drupal-sites
$ docker run --rm -v drupal-sites:/temporary/sites amd64/drupal cp -aRT /var/www/html/sites /temporary/sites
  1. 启动容器并挂载数据卷:
console
$ 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 \
    amd64/drupal
使用 docker compose 部署

创建 compose.yaml 文件:

yaml
# Drupal with PostgreSQL
# 访问地址: "http://localhost:8080"
# 初始设置时数据库配置:
# - 数据库类型: PostgreSQL
# - 数据库名称: postgres
# - 数据库用户名: postgres
# - 数据库密码: example
# - 高级选项 > 数据库主机: postgres

services:
  drupal:
    image: amd64/drupal:10-apache
    ports:
      - 8080:80
    volumes:
      - /var/www/html/modules
      - /var/www/html/profiles
      - /var/www/html/themes
      - /var/www/html/sites  # ***卷会自动用镜像内内容初始化
    restart: always

  postgres:
    image: postgres:16
    environment:
      POSTGRES_PASSWORD: example
    restart: always

启动服务:

console
$ docker compose up -d
添加额外库/扩展

本镜像默认不包含额外的 PHP 扩展。如需添加,可基于本镜像创建自定义 Dockerfile,参考 php 镜像文档 中的方法编译安装扩展。示例 Dockerfile:

dockerfile
FROM amd64/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
以非 root 用户运行

参考 php 镜像文档中的"以非 root 用户运行"部分,可通过设置 --user 参数或在 Dockerfile 中配置用户来实现。

镜像变体

amd64/drupal:<version>

默认镜像,基于 Apache 和 PHP 构建,适用于大多数场景。标签中的 bookworm、trixie 等为 Debian 发行版代号,指定了镜像的基础系统版本。如需安装额外系统包,建议显式指定发行版代号以避免兼容性问题。

amd64/drupal:<version>-fpm

包含 PHP FastCGI 进程管理器(FPM)的变体,需配合反向代理(如 NGINX、Apache)使用。警告:FastCGI 协议本身不提供安全保护,除非明确了解风险,否则不要使用 -p 参数将 FPM 端口暴露到外部网络。

使用示例(配合 NGINX):

  1. 创建网络:docker network create drupal-network
  2. 启动 FPM 容器:docker run --name drupal-fpm --network drupal-network -d amd64/drupal:10-fpm
  3. 配置 NGINX 反向代理到 drupal-fpm:9000

许可证信息

本镜像包含的 Drupal 软件遵循 GNU 通用公共许可证。

与所有 Docker 镜像一样,本镜像可能包含其他软件(如 Bash、基础系统组件等),这些软件可能具有不同的许可证。更多许可证信息可在 repo-info 仓库的 drupal 目录 中找到。

使用本镜像即表示您同意遵守其中包含的所有软件的相关许可证条款。


维护者:Docker 社区(非 Drupal 社区或 Drupal 安全团队)
获取帮助:Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
提交问题:[***]

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。

国内拉取方式

docker pull docker.xuanyuan.run/amd64/drupal:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

官方拉取方式

docker pull amd64/drupal:<标签>

相关镜像推荐

drupal logo
drupal
by library
官方
Drupal是开源内容管理平台,支持数百万网站和应用程序运行。
1080100M+ pulls
上次更新:6 天前
bitnami/drupal logo
bitnami/drupal
by VMware
认证
Bitnami安全Docker镜像,专为Drupal内容管理系统设计,提供安全加固与便捷部署能力。
335M+ pulls
上次更新:4 个月前
bitnamicharts/drupal logo
bitnamicharts/drupal
by VMware
认证
Bitnami提供的Drupal Helm图表,用于在Kubernetes环境中部署和管理Drupal内容管理系统。
500K+ pulls
上次更新:4 个月前
islandora/drupal logo
islandora/drupal
by islandora
Drupal基础镜像,提供运行Drupal内容管理系统所需的标准化基础环境,用于构建和部署Drupal网站或应用的底层支持。
1100K+ pulls
上次更新:9 天前
shinsenter/drupal logo
shinsenter/drupal
by SHIN Company
适用于PHP/Drupal的生产就绪Docker镜像,具备自动Drupal安装程序。
250K+ pulls
上次更新:7 天前
wodby/drupal logo
wodby/drupal
by wodby
原版Drupal容器镜像,提供未经修改的基础环境,用于快速部署和运行Drupal内容管理系统,支持自定义配置以构建各类网站应用。
3500K+ pulls
上次更新:6 天前
查看更多 drupal 相关镜像

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

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

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
amd64/drupal
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429