
如果你使用 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/Laravel Docker Image
这是一个针对开发与生产环境特别设计的 PHP/Laravel Docker 环境,使用 https://github.com/laravel/envoy 设计启动脚本,可轻松根据开发或生产需求定制启动流程;同时集成 http://supervisord.org/index.html 管理进程,支持 Nginx、PHP-FPM、PHP Server、PHP Swoole、Laravel 排程、Laravel 队列处理等常见服务,可搭配 https://github.com/swooletw/laravel-swoole 使用高效能的 Swoole 网络通信引擎。
该镜像适用于所有 PHP 环境,以 Laravel Framework 为例,通过以下三个步骤即可搭建 Laravel 网站:
通过以下命令安装最新版 Laravel:
bashdocker run --rm -v $(pwd):/opt -w /opt docker.xuanyuan.run/larvata/laravel-elite-image:latest-php8.0 \ bash -c "composer create-project --prefer-dist laravel/laravel example-app"
可修改 example-app 更改项目文件夹名称,例如:
bashdocker run --rm -v $(pwd):/opt -w /opt docker.xuanyuan.run/larvata/laravel-elite-image:latest-php8.0 \ bash -c "composer create-project --prefer-dist laravel/laravel blog"
也可使用 = 或 : 指定版本,例如:
bashdocker run --rm -v $(pwd):/opt -w /opt docker.xuanyuan.run/larvata/laravel-elite-image:latest-php8.0 \ bash -c "composer create-project --prefer-dist laravel/laravel=7.30.1 example-app"
bashcd example-app wget https://github.com/LarvataTW/laravel-elite-image/raw/{version}/7.4/setup/Dockerfile wget https://github.com/LarvataTW/laravel-elite-image/raw/{version}/7.4/setup/Envoy.blade.php wget https://github.com/LarvataTW/laravel-elite-image/raw/{version}/7.4/setup/docker-compose.yml.example cp docker-compose.yml.example docker-compose.yml
bashdocker-compose up -d
完成上述步骤后,打开浏览器访问 http://localhost/,即可确认网站是否成功搭建。
1. 下载 Nginx 配置文件
bash# Nginx + PHP-FPM(默认) wget https://github.com/LarvataTW/laravel-elite-image/raw/{version}/8.0/config/nginx.conf # Nginx + Swoole wget https://github.com/LarvataTW/laravel-elite-image/raw/{version}/8.0/config/nginx-swoole.conf
2. 配置 Dockerfile
dockerfile# Nginx + PHP-FPM(默认) COPY nginx.conf /etc/nginx/nginx.conf # Nginx + Swoole COPY nginx-swoole.conf /etc/nginx/nginx-swoole.conf
1. 下载 PHP 配置文件
bashwget https://github.com/LarvataTW/laravel-elite-image/raw/{version}/8.0/config/php.ini
2. 下载 PHP-FPM 配置文件
bashwget https://github.com/LarvataTW/laravel-elite-image/raw/{version}/8.0/config/www.conf
3. 配置 Dockerfile
dockerfileCOPY www.conf /usr/local/etc/php-fpm.d/www.conf COPY php.ini /usr/local/etc/php/conf.d/custom.ini
1. 下载 Supervisord 配置文件
bashwget https://github.com/LarvataTW/laravel-elite-image/raw/{version}/8.0/config/supervisord.conf
2. 配置 Dockerfile
dockerfileCOPY supervisord.conf /etc/supervisord.conf
自定义 Supervisord 脚本流程
创建 Supervisord 脚本(例如:example.conf)
配置 Dockerfile
dockerfileCOPY example.conf /etc/supervisord.d/example.conf
通过修改 Envoy.blade.php 可配置程序启动流程:
可通过Nginx 配置文件修改启动端口:
bashsupervisord -c /etc/supervisord.conf supervisorctl start laravel-php-fpm:* supervisorctl start laravel-nginx:*
可通过Nginx 配置文件修改启动端口:
bashsupervisord -c /etc/supervisord.conf supervisorctl start laravel-php-fpm:* supervisorctl start laravel-swoole:* supervisorctl start laravel-nginx-swoole:*
bashsupervisord -c /etc/supervisord.conf supervisorctl start laravel-schedule:*
bashsupervisord -c /etc/supervisord.conf supervisorctl start laravel-worker:*
| 脚本 | 说明 |
|---|---|
| laravel-nginx | Nginx 服务(PHP-FPM) |
| laravel-nginx-swoole | Nginx 服务(Swoole) |
| laravel-php-fpm | PHP-FPM 服务 |
| laravel-server | PHP Server 服务 |
| laravel-swoole | PHP Swoole 服务 |
| laravel-schedule | Laravel 排程 |
| laravel-worker | Laravel 队列处理 |
| laravel-webpack | Webpack 热更新(开发用) |
| 套件 | 说明 |
|---|---|
| supervisor | 进程管理工具 |
| curl | HTTP 命令行工具 |
| vim | 文件编辑工具 |
| tar | 文件压缩工具 |
| nodejs | JavaScript 执行环境 |
| yarn | JavaScript 管理工具 |
| 扩展 | 用途 |
|---|---|
| swoole | Swoole 服务 |
| redis | Redis 连接 |
| mcrypt | 加密 |
| iconv | 中文字处理 |
| mbstring | 中文字处理 |
| pdo | 数据库连接 |
| pdo_mysql | MySQL 连接 |
| mysqli | MySQL 连接 |
| tokenizer | Laravel Tinker |
| xml | RSS、Excel 等功能 |
| zip | 文件压缩(gzip) |
| exif | 读取文件扩展名 |
| opcache | PHP 优化加速组件 |
Q:环境变量未更改
A:请重新启动
Q:无法连接到网站
A:请确保已配置好 .env 并执行 composer install 后重新启动
Q:No application encryption key has been specified.
A:请设置 APP Key:php artisan key:generate
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务