Shopware 演示环境
本仓库包含一个用于运行 Shopware 6 环境的 Docker 镜像。它基于官方的 Shopware 6 Docker 镜像,并向数据库添加了一些演示数据。
用法
要启动 Shopware 6 环境,请运行以下命令:
docker run \
--rm \
# External reachable URL, aka sales channel URL in shopware
-e APP_URL=http://localhost:8000 \
-p 8000:8000 \
ghcr.io/friendsofshopware/shopware-demo-environment:6.5.8
此外,您可以设置 SHOPWARE_ADMIN_PASSWORD 以设置不同的管理员密码。
Varnish HTTP 缓存
要启用 Varnish HTTP 缓存支持,请将 SHOPWARE_HTTP_CACHE_ENABLE_VARNISH 环境变量设置为 1:
docker run \
--rm \
-e APP_URL=http://localhost:8000 \
-e SHOPWARE_HTTP_CACHE_ENABLE_VARNISH=1 \
-p 8000:8000 \
ghcr.io/friendsofshopware/shopware-demo-environment:6.5.8
您可以使用 SHOPWARE_VARNISH_HOSTS 环境变量来配置 Varnish 主机:
docker run \
--rm \
-e APP_URL=http://localhost:8000 \
-e SHOPWARE_HTTP_CACHE_ENABLE_VARNISH=1 \
-e SHOPWARE_VARNISH_HOSTS="http://varnish.example.com" \
-p 8000:8000 \
ghcr.io/friendsofshopware/shopware-demo-environment:6.5.8
如果未指定 SHOPWARE_VARNISH_HOSTS,则默认值为 http://varnish。
有关使用 Shopware 配置 Varnish 的更多信息,请参阅官方文档。
要安装 Shopware 6 扩展,您需要设置 EXTENSIONS 环境变量。该变量应为以空格分隔的 composer 包列表。例如:
docker run \
--rm \
-e APP_URL=http://localhost:8000 \
-e EXTENSIONS="frosh/tools" \
-p 8000:8000 \
ghcr.io/friendsofshopware/shopware-demo-environment:6.5.8
对于 Shopware Store 插件,您需要传递由 Wildcard 环境生成的 SHOPWARE_PACKAGIST_TOKEN 环境变量。
示例:
docker run \
--rm \
-e APP_URL=http://localhost:8000 \
-e EXTENSIONS="store.shopware.com/froshtools store.shopware.com/froshplatformsharebasket" \
-e SHOPWARE_PACKAGIST_TOKEN=your-token \
-p 8000:8000 \
ghcr.io/friendsofshopware/shopware-demo-environment:6.5.8
对于托管在 packages.fos.gg 上的插件,请传递 FOS_PACKAGIST_TOKEN 环境变量。
示例:
docker run \
--rm \
-e APP_URL=http://localhost:8000 \
-e EXTENSIONS="..." \
-e FOS_PACKAGIST_TOKEN=your-token \
-p 8000:8000 \
ghcr.io/friendsofshopware/shopware-demo-environment:6.5.8
运行多个容器
如果您希望运行多个容器,应在容器之前部署一个 Traefik。这将允许您通过不同的子域名访问这些容器。
请参阅 compose.yml 文件作为示例
自定义 Fixtures
您可以向 /var/www/html 注入一个 fixture.php,以在 Shopware DI 容器上运行自定义命令,从而使用自定义数据填充数据库。
示例:
docker run \
--rm \
-e APP_URL=http://localhost:8000 \
-e EXTENSIONS="frosh/tools" \
-v $(pwd)/fixture.php:/var/www/html/fixture.php \
-p 8000:8000 \
ghcr.io/friendsofshopware/shopware-demo-environment:6.5.8
<?php
$kernel = require '/opt/shopware/boot.php';
var_dump($kernel->getContainer()->get('product.repository')->getDefinition()->getEntityName());
此脚本在任何容器启动时执行,因此您可以使用它向数据库填充自定义数据。此脚本中可使用所有 DI 服务。
感谢 Namespace.so
感谢 namespace.so 赞助其支持多架构的快速 Docker 构建器。如果您需要更好的 GitHub 运行器或 Docker 远程构建器,请访问 namespace.so。