shinsenter/invoiceshelf🔋 (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),生产环境需替换为有效证书。以下是三种替换方式:
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/
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
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)作为基础镜像。
本项目基于GNU General Public License v3.0许可。使用或基于本项目构建时,请注明出处。
来自越南 🇻🇳 的爱。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务