
sforward/laravel该Docker镜像是为Laravel应用程序设计的通用容器化解决方案,旨在解决Laravel应用部署过程中的环境一致性问题,简化容器化流程。镜像集成了Laravel运行所需的核心依赖组件(如PHP、Web服务器、数据库客户端等),提供开箱即用的运行环境,支持从开发到生产环境的全流程应用部署。
.env、Nginx配置、PHP.ini)覆盖默认设置通过以下命令快速运行Laravel应用(需提前准备Laravel项目代码):
bashdocker run -d \ --name laravel-app \ -p 80:80 \ -e APP_KEY=base64:your_laravel_app_key \ -e APP_ENV=production \ -e DB_CONNECTION=mysql \ -e DB_HOST=mysql-service \ -e DB_DATABASE=laravel_db \ -e DB_USERNAME=laravel_user \ -e DB_PASSWORD=your_db_password \ -v /path/to/your/laravel/project:/app \ laravel-generic-image:latest
参数说明:
-p 80:80:将容器内80端口映射到主机80端口(Web服务端口)-v /path/to/your/laravel/project:/app:挂载本地Laravel项目目录到容器内/app(核心代码目录)-e):注入Laravel运行所需的配置参数对于多服务依赖场景(如需搭配MySQL、Redis),推荐使用docker-compose.yml管理:
yamlversion: '3.8' services: laravel: image: laravel-generic-image:latest ports: - "80:80" environment: - APP_KEY=base64:your_laravel_app_key - APP_ENV=production - DB_CONNECTION=mysql - DB_HOST=mysql - DB_DATABASE=laravel - DB_USERNAME=root - DB_PASSWORD=root_password - CACHE_DRIVER=redis - REDIS_HOST=redis volumes: - ./laravel-project:/app # 本地Laravel项目目录 - ./custom-nginx.conf:/etc/nginx/conf.d/default.conf # 自定义Nginx配置(可选) depends_on: - mysql - redis mysql: image: mysql:8.0 environment: - MYSQL_ROOT_PASSWORD=root_password - MYSQL_DATABASE=laravel volumes: - mysql-data:/var/lib/mysql redis: image: redis:alpine volumes: - redis-data:/data volumes: mysql-data: redis-data:
启动命令:docker-compose up -d
| 环境变量名 | 说明 | 默认值 | 必要性 |
|---|---|---|---|
APP_KEY | Laravel应用加密密钥(必须手动生成) | 无 | 必传 |
APP_ENV | 应用环境(dev/test/production) | production | 可选 |
APP_DEBUG | 是否开启调试模式(true/false) | false | 可选 |
DB_CONNECTION | 数据库驱动(mysql/pgsql/sqlite等) | mysql | 可选 |
DB_HOST | 数据库主机地址 | localhost | 依赖数据库时必传 |
DB_PORT | 数据库端口 | 3306(MySQL默认) | 可选 |
DB_DATABASE | 数据库名称 | laravel | 依赖数据库时必传 |
DB_USERNAME | 数据库用户名 | root | 依赖数据库时必传 |
DB_PASSWORD | 数据库密码 | 无 | 依赖数据库时必传 |
通过挂载自定义php.ini文件修改PHP配置:
bash-v /path/to/your/php.ini:/usr/local/etc/php/php.ini
Laravel的URL重写依赖Nginx配置,如需修改可挂载自定义Nginx配置文件:
bash-v /path/to/your/nginx.conf:/etc/nginx/conf.d/default.conf
如需安装额外PHP扩展,可基于该镜像构建自定义镜像(示例Dockerfile):
dockerfileFROM laravel-generic-image:latest RUN docker-php-ext-install gd exif # 安装GD库和Exif扩展
php artisan key:generate生成APP_KEY,并通过环境变量传入容器www-data,需保证目录可读写)laravel-generic-image:php8.0)APP_DEBUG,配置日志轮转,并通过反向代理(如Nginx、Traefik)处理SSL终结

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务