wodby/drupal该镜像为基础版Drupal容器镜像,旨在提供轻量、可配置的Drupal CMS(内容管理系统)运行环境。基于官方Drupal源码或优化运行时构建,包含运行Drupal所需的核心依赖(如PHP及扩展、基础配置),支持快速部署独立Drupal实例或集成至Docker化应用栈。
通过docker run直接启动(需提前准备数据库服务):
bashdocker run -d \ --name drupal-vanilla \ -p 8080:80 \ -e DB_HOST=mysql \ -e DB_USER=drupal_user \ -e DB_PASSWORD=secure_password \ -e DB_NAME=drupal_db \ wodby/drupal:latest
-p 8080:80:将容器内80端口映射至主机8080端口,通过http://localhost:8080访问推荐使用Docker Compose编排完整服务栈(含Drupal、数据库),示例docker-compose.yml:
yamlversion: '3.8' services: # Drupal 应用服务 drupal: image: wodby/drupal:latest container_name: drupal-app restart: unless-stopped ports: - "8080:80" # Web访问端口 environment: # 数据库连接配置 DB_HOST: mysql DB_PORT: 3306 DB_USER: drupal_user DB_PASSWORD: ${DB_PASSWORD:-drupal_pass} DB_NAME: drupal_db # Drupal核心配置 DRUPAL_VERSION: 10 # 指定Drupal版本(可选) AUTO_INSTALL: "true" # 自动完成Drupal安装(跳过Web向导) PHP_MEMORY_LIMIT: "256M" # PHP内存限制 # 管理员账户配置(自动安装时生效) DRUPAL_ADMIN_USER: admin DRUPAL_ADMIN_PASS: ${ADMIN_PASS:-admin_secure_123} volumes: - ./drupal-data:/var/www/html # 持久化Drupal代码与数据 depends_on: - mysql # MySQL 数据库服务 mysql: image: mysql:8.0 container_name: drupal-mysql restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: ${ROOT_PASS:-root_secure_123} MYSQL_DATABASE: drupal_db MYSQL_USER: drupal_user MYSQL_PASSWORD: ${DB_PASSWORD:-drupal_pass} volumes: - mysql-data:/var/lib/mysql # 数据库数据持久化 volumes: mysql-data: # 自动创建的数据库数据卷
启动流程:
bash# (可选)创建环境变量文件存储敏感信息 echo "DB_PASSWORD=custom_db_pass" > .env echo "ADMIN_PASS=custom_admin_pass" >> .env # 启动服务栈 docker-compose up -d # 查看日志确认启动状态 docker-compose logs -f drupal
访问Drupal:通过http://localhost:8080访问,若AUTO_INSTALL=true则直接进入登录页(使用配置的管理员账户)。
关键挂载目录:
/var/www/html:Drupal代码、配置及用户上传文件目录,建议挂载至主机目录或命名卷(开发环境用于代码同步,生产环境用于数据持久化)/usr/local/etc/php/conf.d/:(可选)自定义PHP配置文件目录,用于覆盖默认PHP.ini参数| 环境变量名 | 描述 | 默认值 | 示例值 |
|---|---|---|---|
DRUPAL_VERSION | Drupal版本(如7/8/9/10) | latest | 10 |
DB_HOST | 数据库主机地址 | - | mysql |
DB_PORT | 数据库端口 | 3306 | 5432(PostgreSQL) |
DB_USER | 数据库用户名 | - | drupal_user |
DB_PASSWORD | 数据库用户密码 | - | secure_password |
DB_NAME | Drupal数据库名称 | drupal | drupal_prod |
AUTO_INSTALL | 是否自动安装Drupal | false | true |
PHP_MEMORY_LIMIT | PHP内存限制 | 128M | 256M |
PHP_MAX_EXECUTION_TIME | PHP最大执行时间(秒) | 30 | 60 |
DRUPAL_SITE_NAME | 自动安装时的站点名称 | Drupal Site | 企业官网 |
DRUPAL_ADMIN_USER | 管理员用户名(自动安装时) | admin | site_admin |
DRUPAL_ADMIN_PASS | 管理员密码(自动安装时) | - | admin_secure_123 |
depends_on或健康检查控制启动顺序)。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务