
!GitHub last commit !Docker Pulls
!Docker (tag) !PHP (tag) !NodeJS (tag) !Drupal (tag) !Ubuntu (tag) !Apple silicon (tag) !VS Code (tag)
!Docker Stars !Docker Image Size (tag) !Docker Image Size (tag) !Docker Image Size (tag)
https://github.com/alchatti/drupal-devcontainer-image/actions/workflows/build-and-push.yml/badge.svg?branch=main](https://github.com/alchatti/drupal-devcontainer-image/actions/workflows/build-and-push.yml) https://github.com/alchatti/drupal-devcontainer-image/actions/workflows/update-container-description.yml/badge.svg](https://github.com/alchatti/drupal-devcontainer-image/actions/workflows/update-container-description.yml)
基于Microsoft PHP devcontainer镜像构建的Drupal开发容器。
Devcontainer镜像是用于在容器内进行开发的镜像,预装了开发Drupal和Node.js项目所需的工具。
该镜像可独立使用,推荐配合https://github.com/alchatti/drupal-devcontainer%E4%B8%8EVS Code使用,以获得交互式开发体验,并自动安装必要的扩展。
基础Drupal项目示例可参考https://github.com/alchatti/drupal-devcontainer-sample-project%E3%80%82
容器的开发功能针对vscode用户配置,这是Microsoft基础镜像提供的非root用户。
Apache服务器将通过启动脚本中的
apache2ctl start命令启动
Xdebug端口为
9003,这是xdebug默认客户端端口。
Drupal 10可使用SQLite安装,无需额外数据库容器。
为获得最佳开发体验,请以vscode用户启动容器。主机名drupal-dev可替换为其他名称。
drupal-dev-html以持久化站点安装:bashdocker run --rm -it \ -h "drupal-dev" \ -u "vscode" \ -p 80:80 \ -v "drupal-dev-html:/var/www/html" \ alchatti/drupal-devcontainer:8.1 fish
容器初始化完成后,访问http://localhost可查看PHP信息页面。
可使用init.sh命令创建新的Drupal 10站点。选择SQLite作为数据库选项可实现独立镜像运行。此脚本基于Acquia配置,也可手动设置Drupal。
bashinit.sh
Drupal安装完成后,访问http://localhost开始配置Drupal。
演示场景下,选择“Demo: Umami Food Magazine (Experimental)”作为安装配置文件。
数据库选择SQLite,数据库文件使用默认路径sites/default/files/.ht.sqlite。
配置站点,设置admin用户名和密码。
访问http://localhost即可查看Drupal站点。
退出容器并停止服务:
bashexit
bashdocker volume rm drupal-dev-html
POSH_THEME_ENVIRONMENT更改shell为zsh并设置主题为'blue-owl',更多主题选项参见Oh My Posh主题:bashdocker run --rm -it \ -e POSH_THEME_ENVIRONMENT='blue-owl' \ -h "drupal-dev" \ -u "vscode" \ -p 80:80 \ -v "drupal-dev-html:/var/www/html" \ alchatti/drupal-devcontainer:8.1 zsh
特定版本构建的标签格式为$php-$datetime。
可用标签:
8.2:包含PHP 8.2、最新Node.js和构建时的最新Composer。8.1:包含PHP 8.1、最新Node.js和构建时的最新Composer。旧版/已弃用标签:
7.4:包含PHP 7.4、最新Node.js和构建时的最新Composer。(最后构建时间:2023年12月1日)也可使用时间戳标签定位特定构建版本,详见https://hub.docker.com/r/alchatti/drupal-devcontainer/tags%E3%80%82
该镜像针对PHP 8.1和8.2的最新版本构建,包含最新Node.js。
bash# 以JSON格式打印镜像包版本/标签信息 about | jq # 使用drush创建带时间戳的数据库转储,并存储到/var/www/html/dump目录 dump.sh # 使用acli下载最新的Acquia云数据库备份 acli-dump.sh
基础镜像已包含Zsh、Apache、Xdebug、Composer,额外预装以下软件包:
Drupal开发工具
Acquia工具
前端开发工具
终端增强工具:
Git增强工具:
以下环境变量用于自定义配置:
bash# Apache环境变量默认值 ENV APACHE_SERVER_NAME "localhost" ENV APACHE_DOCUMENT_ROOT "docroot" ENV WORKSPACE_ROOT "/var/www/html" # Oh My Posh默认主题环境变量 ENV POSH_THEME_ENVIRONMENT "ys"
构建流程通过GitHub Actions工作流自动化,包含两个脚本:
build.sh:根据PHP、Node、Sass版本构建镜像,参数如下:
-p:PHP版本(如7或8)-n:Node.js版本,node表示最新版,--lts表示LTS版本test.sh:加载最新本地构建镜像
工作流按计划执行,也可在推送到main分支时触发,或通过GitHub手动触发。
fish通过仓库安装2→42→32.0.0→33→5peter-evans/dockerhub-description@v3(持续维护版本)APACHE_DOCUMENT_ROOT和WORKSPACE_ROOT,以在/etc/apache2/sites-available/*.conf中生效git-quick-statsfish更新至3.6.4-1about脚本可打印基础镜像OS版本arm64架构(PHP 8.1和7.4)fish与nvm的兼容性问题您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。




探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务