
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
🔋 (PHP / InvoiceShelf) 生产就绪的Docker镜像,包含自动InvoiceShelf安装程序。
该Docker镜像提供Debian和Alpine两个版本。
shinsenter/invoiceshelf是专为InvoiceShelf应用设计的生产级Docker镜像,集成自动安装程序,可快速部署InvoiceShelf(基于Laravel框架的发票管理系统)。镜像内置PHP和PHP-FPM环境,支持通过环境变量灵活配置,无需重建镜像即可调整应用设置,适用于开发、测试及生产环境。
当挂载空目录到容器时,镜像会自动下载InvoiceShelf源码并完成初始化,快速引导新项目。
步骤:
在主机创建空目录用于存放项目代码:
shellmkdir invoiceshelf
运行容器并挂载该目录为卷:
shelldocker run -p 80:80 -p 443:443 -p 443:443/udp \ -v ./invoiceshelf:/var/www/html \ shinsenter/invoiceshelf:latest
容器会检测到/var/www/html挂载的空目录,并自动克隆框架源码到该目录。
将主机上的现有应用代码挂载到容器内的/var/www/html目录,实现代码实时同步。主机端修改会立即反映到容器内,支持在容器中运行构建、测试等任务,同时保持代码在主机端管理。
示例命令:
shelldocker run -p 80:80 -p 443:443 \ -v /path/to/your/existing/invoiceshelf:/var/www/html \ shinsenter/invoiceshelf:latest
镜像内置测试用SSL证书(路径:/etc/ssl/site/server.crt和/etc/ssl/site/server.key),生产环境需替换为有效证书。以下是三种替换方式:
4.3.1 使用Dockerfile
dockerfileFROM shinsenter/invoiceshelf:latest # 复制自定义证书到容器 COPY my_domain.crt /etc/ssl/site/server.crt COPY my_domain.key /etc/ssl/site/server.key # 可选:添加其他配置(如复制应用代码) # ADD --chown=$APP_USER:$APP_GROUP ./invoiceshelf/ /var/www/html/
4.3.2 使用docker run命令
shelldocker run -p 80:80 -p 443:443 -p 443:443/udp \ -v ./invoiceshelf:/var/www/html \ -v ./my_domain.crt:/etc/ssl/site/server.crt \ -v ./my_domain.key:/etc/ssl/site/server.key \ shinsenter/invoiceshelf:latest
4.3.3 使用docker-compose
yamlservices: web: image: shinsenter/invoiceshelf:latest volumes: - ./invoiceshelf:/var/www/html - ./my_domain.crt:/etc/ssl/site/server.crt - ./my_domain.key:/etc/ssl/site/server.key ports: - "80:80" - "443:443" - "443:443/udp"
通过以下环境变量可配置Laravel相关服务(如数据库迁移、队列、调度器等):
| 环境变量 | 描述 |
|---|---|
LARAVEL_AUTO_MIGRATION | 是否在应用启动时自动运行数据库迁移。设为0禁用迁移,默认值为1。 |
LARAVEL_AUTO_MIGRATION_OPTIONS | 传递给artisan migrate命令的额外选项/标志(如--seed)。 |
LARAVEL_ENABLE_QUEUE_WORKER | 启用Laravel队列worker的supervisor服务。设为1开始处理任务,默认值为0。 |
LARAVEL_QUEUE_WORKER_OPTIONS | Laravel队列worker的自定义选项(如连接、延迟)。 |
LARAVEL_ENABLE_SCHEDULER | 启用Laravel调度器的supervisor服务。设为0禁用定时任务,默认值为1。 |
LARAVEL_SCHEDULER_OPTIONS | 调度器执行的额外选项。 |
LARAVEL_ENABLE_HORIZON | 启用Laravel Horizon(队列管理面板)的supervisor服务,默认值为0。 |
LARAVEL_HORIZON_OPTIONS | Laravel Horizon的自定义选项(如环境、队列名称)。 |
LARAVEL_ENABLE_PULSE | 启用Laravel Pulse(应用性能监控)的supervisor服务,默认值为0。 |
LARAVEL_PULSE_OPTIONS | Laravel Pulse的配置选项(如端口、存储)。 |
LARAVEL_ENABLE_REVERB | 启用Laravel Reverb(实时WebSocket通信)的supervisor服务,默认值为0。 |
LARAVEL_REVERB_OPTIONS | Laravel Reverb的配置选项(如端口、存储)。 |
由于每日构建更新(以同步PHP、基础系统、Composer等上游更新),同一源码构建的Docker镜像可能不完全一致。建议通过以下命令标记稳定版本:
shell# 拉取最新镜像 docker pull shinsenter/invoiceshelf:latest # 标记为稳定版本 docker tag shinsenter/invoiceshelf:latest your-repo/invoiceshelf:stable # 推送到私有仓库(如需要) docker push your-repo/invoiceshelf:stable
生产环境建议使用标记的稳定版本(如your-repo/invoiceshelf:stable)作为基础镜像。
本项目基于https://code.shin.company/php/blob/main/LICENSE%E8%AE%B8%E5%8F%AF%E3%80%82%E4%BD%BF%E7%94%A8%E6%88%96%E5%9F%BA%E4%BA%8E%E6%9C%AC%E9%A1%B9%E7%9B%AE%E6%9E%84%E5%BB%BA%E6%97%B6%EF%BC%8C%E8%AF%B7%E6%B3%A8%E6%98%8E%E5%87%BA%E5%A4%84%E3%80%82
来自越南 🇻🇳 的爱。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务