本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

本镜像专为Drupal的贡献模块/主题设计,旨在简化模块/主题的测试流程。与其他集成Docker到完整Drupal项目的镜像不同,本镜像专注于为贡献模块/主题提供容器化环境,帮助开发者避免手动搭建完整Drupal环境的繁琐步骤,支持手动或自动化测试。
| 标签和Dockerfile | Drupal版本 |
|---|---|
11.3 (Dockerfile) | 11.3-dev |
11.2 (Dockerfile) | 11.2.x |
11.1 (Dockerfile) | 11.1.x |
11.0 (Dockerfile) | 11.0.x |
10.6 (Dockerfile) | 10.6-dev |
10.5 (Dockerfile) | 10.5.x |
10.4 (Dockerfile) | 10.4.x |
10.3 (Dockerfile) | 10.3.x |
10.2 (Dockerfile) | 10.2.x |
10.1 (Dockerfile) | 10.1.x |
10.0 (Dockerfile) | 10.0.x |
9.5 (Dockerfile) | 9.5.x |
Docker Hub上已有许多Drupal镜像,它们的共同目标是将Docker集成到完整的Drupal项目中。
本镜像则截然不同:我们不解决Docker与Drupal的集成问题,而是提供为贡献模块/主题设置Docker的解决方案。
许多开发者在创建出色模块时,需要手动搭建完整的Drupal 8/9环境并将自定义模块/主题 symlink 到其中,测试过程繁琐。本Docker镜像通过提供容器化的Drupal 8/9/10/11环境,高度简化这一流程,用于模块/主题贡献项目的手动或自动化测试。
在仓库根目录创建Dockerfile:
ARG BASE_IMAGE_TAG=10.4 FROM wengerk/drupal-for-contrib:${BASE_IMAGE_TAG}
在仓库根目录创建docker-compose.yml:
services: drupal: build: . depends_on: - db ports: - 8888:80 volumes: # 将模块挂载到正确的贡献模块目录 - .:/var/www/html/modules/contrib/my_module restart: always db: image: mariadb:10.6 environment: MYSQL_USER: drupal MYSQL_PASSWORD: drupal MYSQL_DATABASE: drupal MYSQL_ROOT_PASSWORD: root restart: always
注意:更新挂载的volume名称以匹配你的自定义模块名称。
$ docker-compose build --pull --build-arg BASE_IMAGE_TAG=10.4 drupal $ docker-compose up -d drupal # 等待Docker就绪,尤其是MariaDB需要几秒启动时间 $ docker-compose exec -u www-data drupal drush site-install standard --db-url="mysql://drupal:drupal@db/drupal" --site-name=Example -y
docker-compose exec -u www-data drupal phpunit --no-coverage --group=my_module --configuration=/var/www/html/phpunit.xml
在仓库根目录创建.travis.yml:
language: php services: - docker env: global: # 要在Docker中挂载和测试的模块名称 - MODULE_NAME="my_module" jobs: include: - name: D8.9 env: BASE_IMAGE_TAG="8.9" - name: D9.0 env: BASE_IMAGE_TAG="9.0" - name: D10.0 env: BASE_IMAGE_TAG="10.0" - name: D11.0 env: BASE_IMAGE_TAG="11.0" before_install: - docker-compose build --pull --build-arg BASE_IMAGE_TAG=${BASE_IMAGE_TAG} drupal - docker-compose up -d drupal # 等待Docker就绪,尤其是MariaDB需要几秒启动 - docker-compose exec drupal wait-for-it drupal:80 -t 60 - docker-compose exec drupal wait-for-it db:3306 -t 60 before_script: - docker-compose exec -u www-data drupal drush site-install standard --db-url="mysql://drupal:drupal@db/drupal" --site-name=Example -y script: - docker-compose exec -u www-data drupal phpunit --no-coverage --group=${MODULE_NAME} --configuration=/opt/drupal/web/phpunit.xml
name: Continuous integration on: [push] jobs: tests: name: Tests runs-on: ubuntu-latest strategy: matrix: drupal_version: ['8.9', '9.0', '9.1', '10.0', '10.1', '10.2', '11.0'] module: ['my_module'] experimental: [ false ] include: - drupal_version: '10.3' module: 'my_module' experimental: true - drupal_version: '11.1' module: 'my_module' experimental: true steps: - uses: actions/checkout@v3 - run: docker-compose -f docker-compose.yml pull --include-deps drupal - name: 构建docker-compose堆栈 run: docker-compose -f docker-compose.yml build --pull --build-arg BASE_IMAGE_TAG=${{ matrix.drupal_version }} drupal continue-on-error: ${{ matrix.experimental }} - name: 运行单元测试 run: docker-compose -f docker-compose.yml run -u www-data drupal phpunit --no-coverage --group=${{ matrix.module }} --configuration=/var/www/html/phpunit.xml continue-on-error: ${{ matrix.experimental }}
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429