shinsenter/drupalshinsenter/drupal 是一款面向生产环境的 Docker 镜像,内置自动 Drupal 安装器,旨在简化 Drupal 应用的部署流程。该镜像基于 PHP 环境构建,支持 Debian 和 Alpine 两种基础系统版本,可通过 Docker Hub 和 GitHub Packages 获取。
当挂载空目录至容器的 /var/www/html 路径时,镜像会自动检测并下载 Drupal 源码,完成项目初始化。
创建本地空目录:
在主机创建用于存放项目代码的空目录,例如:
shellmkdir drupal
运行容器并挂载目录:
通过 docker run 命令启动容器,将本地目录挂载至 /var/www/html。示例:
shelldocker run -p 80:80 -p 443:443 -p 443:443/udp \ -v ./drupal:/var/www/html \ shinsenter/drupal:latest
容器会自动识别空目录并克隆 Drupal 源码至该目录。
将主机上的现有 Drupal 代码目录挂载至容器的 /var/www/html 路径,即可直接运行项目。由于采用卷挂载方式,主机代码修改会实时同步至容器,适用于开发或生产环境。
shelldocker run -p 80:80 -p 443:443 -p 443:443/udp \ -v /path/to/your/existing/drupal:/var/www/html \ shinsenter/drupal:latest
镜像内置测试用 SSL 证书,路径为:
/etc/ssl/site/server.crt/etc/ssl/site/server.key生产环境需替换为有效证书,可通过以下方式实现:
dockerfileFROM shinsenter/drupal:latest # 复制自定义证书至容器 COPY my_domain.crt /etc/ssl/site/server.crt COPY my_domain.key /etc/ssl/site/server.key # 可选:添加项目代码(若不通过卷挂载) # ADD --chown=$APP_USER:$APP_GROUP ./drupal/ /var/www/html/
shelldocker run -p 80:80 -p 443:443 -p 443:443/udp \ -v ./drupal:/var/www/html \ -v ./my_domain.crt:/etc/ssl/site/server.crt \ -v ./my_domain.key:/etc/ssl/site/server.key \ shinsenter/drupal:latest
yamlservices: web: image: shinsenter/drupal:latest ports: - "80:80" - "443:443" - "443:443/udp" volumes: - ./drupal:/var/www/html - ./my_domain.crt:/etc/ssl/site/server.crt - ./my_domain.key:/etc/ssl/site/server.key
由于镜像每日更新以同步最新依赖,同一标签(如 latest)的镜像内容可能变化。为确保生产环境稳定性,建议拉取镜像后标记为自定义稳定标签(如 your-repo/drupal:stable)。
shell# 拉取最新镜像 docker pull shinsenter/drupal:latest # 标记为稳定版本 docker tag shinsenter/drupal:latest your-repo/drupal:stable # 推送至私有仓库(可选) docker push your-repo/drupal:stable
之后可使用 your-repo/drupal:stable 作为生产环境基础镜像。
若发现镜像问题或有改进建议,可通过以下方式参与:
本项目基于 GNU General Public License v3.0 许可。使用或衍生该项目时,请遵守许可条款并注明出处。
来自越南 🇻🇳 的开源贡献。

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