
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该镜像为stratuSolve的divblox和sDev框架设计,基于https://hub.docker.com/_/php%E6%9E%84%E5%BB%BA%EF%BC%8C%E5%8C%85%E5%90%AB%E8%BF%90%E8%A1%8C%E5%BA%94%E7%94%A8%E6%89%80%E9%9C%80%E7%9A%84%E5%85%A8%E9%83%A8%E7%8E%AF%E5%A2%83%E3%80%82
推荐使用Docker Compose搭建环境,可快速连接Web服务器与数据库,无需手动创建网络。
前提条件:当前用户需加入docker用户组,可通过以下命令实现:
bashsudo usermod -aG docker $USER
包含TLS终止、MySQL 8.0和Redis状态管理的sDev环境配置。
customdomain.sdev.local { reverse_proxy sdev:80 tls internal }
yamlversion: '3' services: caddy: image: caddy:latest ports: - 80:80 - 443:443 - 443:443/udp volumes: - ./Caddyfile:/etc/caddy/Caddyfile - caddy_data:/data - caddy_config:/config sdev: image: johanmarx/stratusolve_php_apache:latest volumes: - ./src:/var/www/html/ #绑定源代码目录 extra_hosts: - customdomain.sdev.local:host-gateway environment: - SERVER_INSTANCE=container - BEHIND_SECURE_GATEWAY=1 - ALLOW_REMOTE_ADMIN=1 - DEV_MODE=1 - DB_SERVER=sql - DB_NAME=dxdatabase - DB_USERNAME=dxuser - DB_PASSWORD=secret - MAINTENANCE_PASS=123 - NON_PROD_INDICATOR=Top - REDIS_HOST=redis - REDIS_PORT=6379 - REDIS_PASSWORD=123 - PHP_SESSION_HANDLER=files - PHP_SESSION_PATH=/tmp sql: image: mysql:8.0 environment: MYSQL_ROOT_PASSWORD: 'secret' MYSQL_USER: 'dxuser' MYSQL_PASSWORD: 'secret' MYSQL_DATABASE: 'dxdatabase' volumes: - mysql8data:/var/lib/mysql command: - --default-authentication-plugin=caching_sha2_password - --lower_case_table_names=1 - --sql_mode= ports: - 3306:3306 redis: image: redis:latest ports: - 6379:6379 command: redis-server --save 60 10 --requirepass 123 volumes: - reddis_data:/data volumes: mysql8data: {} caddy_data: {} caddy_config: {} reddis_data: {}
包含TLS终止、MySQL 8.0、Redis状态管理及MemcacheD会话存储的divbloxPHP环境配置。
customdomain.divblox.local { reverse_proxy divblox:80 tls internal }
yamlversion: "3" services: caddy: image: caddy:latest ports: - 80:80 - 443:443 - 443:443/udp volumes: - ./Caddyfile:/etc/caddy/Caddyfile - caddy_data:/data - caddy_config:/config divblox: image: johanmarx/stratusolve_php_apache:latest volumes: - ./src:/var/www/html/ #绑定源代码目录 environment: - CONTAINER=1 - BEHIND_SECURE_GATEWAY=1 - DB_SERVER=sql - DB_PORT=3306 - DB_NAME=dxdatabase - DB_USERNAME=dxuser - DB_PASSWORD=secret - MAINTENANCE_USERNAME=admin - MAINTENANCE_PASSWORD=123 - REDIS_STATE=1 - REDIS_HOST=redis - REDIS_PORT=6379 - REDIS_PASSWORD=123 - DX_API_KEY=adummyapikey - PHP_SESSION_HANDLER=memcached - PHP_SESSION_PATH=memcached:11211 extra_hosts: - customdomain.divblox.local:host-gateway sql: image: mysql:8.0 environment: MYSQL_ROOT_PASSWORD: "secret" MYSQL_USER: "dxuser" MYSQL_PASSWORD: "secret" MYSQL_DATABASE: "dxdatabase" volumes: - mysql8data:/var/lib/mysql command: - --default-authentication-plugin=caching_sha2_password - --lower_case_table_names=1 - --sql_mode= ports: - 3306:3306 redis: image: redis:latest ports: - 6379:6379 command: redis-server --save 60 10 --requirepass 123 volumes: - reddis_data:/data memcached: image: memcached:1.6.22-alpine ports: - 11211:11211 volumes: mysql8data: {} caddy_data: {} caddy_config: {} reddis_data: {}
修改本地hosts文件,添加以下条目(根据框架选择):
127.0.0.1 customdomain.divblox.local 127.0.0.1 customdomain.sdev.local
修改后可能需要重启系统生效,可通过ping命令验证:
bashping customdomain.divblox.local
不同系统hosts文件路径:
/etc/hosts/private/etc/hostsc:\windows\system32\drivers\etc\hosts.file必须通过以下环境变量组合定义PHP会话存储位置,需与整体架构匹配:
PHP_SESSION_HANDLER=memcached PHP_SESSION_PATH=memcached:11211
PHP_SESSION_HANDLER=redis PHP_SESSION_PATH=tcp://redis:6379?auth=123
PHP_SESSION_HANDLER=files PHP_SESSION_PATH=/tmp
可通过自定义Dockerfile和php.ini集成Xdebug进行应用调试。
dockerfileFROM johanmarx/stratusolve_php_apache:latest COPY ./xdebug.ini "$PHP_INI_DIR/conf.d"
ini[xdebug] zend_extension=xdebug xdebug.mode=develop,debug xdebug.start_with_request=yes xdebug.discover_client_host=0 xdebug.client_host=host.docker.internal xdebug.client_port=9003
yamlservice_name: build: context: . dockerfile: Xdebug.Dockerfile image: customxdebugimage volumes: - ./src:/var/www/html extra_hosts: - host.docker.internal:host-gateway #重要配置 - ... env_file: - local.env
配置完成后,可在VSCode或PhpStorm中监听9003端口的调试连接。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务