druidfi/drupal本镜像专为Drupal内容管理系统(CMS)设计,提供经过优化的PHP运行环境。基于官方PHP镜像构建,针对Drupal应用的特性进行定制化配置,包含所有Drupal必需的PHP扩展、性能优化参数及兼容性设置,旨在简化Drupal应用的部署流程,提升运行稳定性和效率。
mysqli、pdo_mysql、gd、curl、mbstring、xml、zip、intl等7.4、8.0、8.1、8.2),适配不同Drupal版本需求bash# 拉取镜像(指定PHP版本,例如8.1) docker pull drupal-optimized-php:8.1 # 运行容器(挂载Drupal代码目录) docker run -d \ --name drupal-php \ -p 9000:9000 \ # PHP-FPM端口(如需配合Web服务器) -v /path/to/your/drupal/code:/var/www/html \ # 挂载本地Drupal代码 -e PHP_OPCACHE_ENABLE=1 \ # 启用OPcache -e DRUPAL_DB_HOST=db \ # 数据库主机(需配合数据库容器) drupal-optimized-php:8.1
创建docker-compose.yml文件:
yamlversion: '3.8' services: php: image: drupal-optimized-php:8.2 volumes: - ./drupal:/var/www/html # 本地Drupal代码目录 - ./php.ini:/usr/local/etc/php/php.ini # 自定义php.ini(可选) environment: - PHP_OPCACHE_ENABLE=1 - PHP_MEMORY_LIMIT=256M # PHP内存限制 - DRUPAL_DB_HOST=db - DRUPAL_DB_USER=drupal_user - DRUPAL_DB_PASSWORD=secure_password - DRUPAL_DB_NAME=drupal_db depends_on: - db restart: unless-stopped web: image: nginx:alpine ports: - "80:80" - "443:443" # 如需HTTPS,挂载证书 volumes: - ./drupal:/var/www/html - ./nginx/conf.d:/etc/nginx/conf.d # Nginx配置(反向代理到PHP-FPM) - ./ssl:/etc/nginx/ssl # SSL证书(可选) depends_on: - php restart: unless-stopped db: image: mysql:8.0 volumes: - db_data:/var/lib/mysql # 数据库数据持久化 environment: - MYSQL_DATABASE=drupal_db - MYSQL_USER=drupal_user - MYSQL_PASSWORD=secure_password - MYSQL_ROOT_PASSWORD=root_secure_password restart: unless-stopped volumes: db_data: # 数据库数据卷(持久化存储)
启动服务:
bashdocker-compose up -d
| 环境变量 | 描述 | 默认值 |
|---|---|---|
PHP_VERSION | PHP版本(镜像标签已指定,仅供参考) | 8.2 |
PHP_MEMORY_LIMIT | PHP内存限制 | 128M |
PHP_OPCACHE_ENABLE | 是否启用OPcache | 1(启用) |
PHP_OPCACHE_MEMORY_CONSUMPTION | OPcache内存大小 | 64M |
DRUPAL_DB_HOST | Drupal数据库主机 | localhost |
DRUPAL_DB_PORT | 数据库端口 | 3306 |
DRUPAL_DB_USER | 数据库用户名 | drupal |
DRUPAL_DB_PASSWORD | 数据库密码 | 空 |
DRUPAL_DB_NAME | 数据库名称 | drupal |
如需覆盖默认PHP配置,可通过挂载自定义php.ini文件:
bashdocker run -v /path/to/your/php.ini:/usr/local/etc/php/php.ini drupal-optimized-php:8.2
常见自定义场景:调整内存限制、修改上传文件大小、配置日志级别等。
镜像标签格式为{PHP版本},例如:
drupal-optimized-php:7.4(PHP 7.4,适用于Drupal 7/8)drupal-optimized-php:8.1(PHP 8.1,适用于Drupal 9/10)drupal-optimized-php:latest(最新稳定PHP版本,推荐用于Drupal最新版)建议根据Drupal官方文档的PHP版本要求选择对应标签。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务