You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Shopware 6整站本地开发环境最佳搭建方案咨询

Shopware 6 整站开发本地环境搭建方案

方案选型逻辑

你之前用的Dockware dev镜像本身工具链非常完善,watch-admin、watch-storefront这类热重载工具对开发效率提升很大,默认配置只支持插件开发的核心原因是镜像把Shopware核心代码打包在容器内部,仅挂载了custom/plugins插件目录,无法直接修改核心代码、调整全局composer依赖、做整站级的自定义配置。
整站开发场景不需要换基础镜像,只需要调整Docker挂载逻辑,把全量代码目录映射到本地,同时把数据库、缓存等服务做持久化,就能既保留Dockware的工具便利性,又支持全量代码修改。

可直接复用的docker-compose.yml配置

这个配置保留了Dockware dev镜像的全部开发工具,所有项目代码会挂载到本地目录,支持核心代码、主题、插件、全局配置的全量修改:

version: "3.8"

services:
  app:
    image: dockware/dev:latest
    ports:
      - "80:80" # Storefront前端访问端口
      - "8080:8080" # Admin后台访问端口
      - "9998:9998" # Storefront热重载通信端口
      - "9999:9999" # Admin热重载通信端口
    volumes:
      # 全量挂载本地Shopware代码目录,替换镜像内置代码,支持整站修改
      - ./shopware:/var/www/html
      # 挂载composer缓存,避免每次重装依赖重复下载
      - ~/.composer:/var/www/.composer
    environment:
      - APP_ENV=dev
      - APP_DEBUG=1
      - DATABASE_URL=mysql://shopware:shopware@db:3306/shopware
      - SHOPWARE_ES_ENABLED=0
      - PHP_VERSION=8.2 # 6.5+版本Shopware推荐用PHP8.2,低版本可自行调整为8.1
      - AUTOSTART_TINKER=0
      - AUTOSTART_WEBHOOKS=0
    networks:
      - shopware-dev
    depends_on:
      - db
      - redis
    restart: unless-stopped

  db:
    image: mysql:8.0
    ports:
      - "3306:3306"
    volumes:
      - mysql-data:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=shopware
      - MYSQL_USER=shopware
      - MYSQL_PASSWORD=shopware
    networks:
      - shopware-dev
    command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    restart: unless-stopped

  redis:
    image: redis:7-alpine
    ports:
      - "6379:6379"
    volumes:
      - redis-data:/data
    networks:
      - shopware-dev
    restart: unless-stopped

volumes:
  mysql-data:
  redis-data:

networks:
  shopware-dev:
    driver: bridge

初始化与日常使用流程

  • 首次使用先在docker-compose.yml所在目录新建shopware空文件夹,执行docker-compose up -d启动容器后,进入app容器执行composer create-project shopware/production .拉取对应版本的Shopware全量代码,后续所有代码修改直接在本地shopware目录操作即可,容器内会实时同步。
  • 代码拉取完成后,在容器内执行bin/console system:install --basic-setup完成系统初始化,默认后台登录账号密码为demo/demo,和原生Dockware配置一致。
  • 前端开发需要热重载时,直接在容器内执行原有命令即可,使用体验和默认Dockware完全一致:
    • 后台热重载:./bin/build-administration.sh --watch
    • 店面热重载:./bin/build-storefront.sh --watch
  • 整站开发相关操作不需要额外进容器改文件:调整composer依赖直接编辑本地shopware/composer.json后进容器执行composer命令即可,自定义主题、修改核心业务逻辑、调整系统配置都可以直接在本地挂载目录操作。

如果项目需要用到OpenSearch/Elasticsearch,只需要在compose配置中追加对应服务,把app容器的SHOPWARE_ES_ENABLED改为1,配置对应连接地址即可,不需要调整现有基础逻辑。

内容的提问来源于stack exchange,提问作者Alphaegen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 04:57:25