
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
从kamerk22/laravel-alpine分叉
运行在PHP-FPM上的Laravel PHP框架,基于Alpine基础Docker镜像 🐳
!https://github.com/EightSystems/laravel-alpine/blob/master/image-list-screenshot.png?raw=true
您可从GHCR(GitHub容器仓库)或DockerHub仓库拉取镜像
可使用以下格式的版本标签:
version-tag 示例:8.4-alpine3.20-mysql-nginx
| 版本 | 标签 | 说明 |
|---|---|---|
| 7.4-alpine3.16 | mysql, mysql-nginx, pgsql, pgsql-nginx, mysql-xdebug, mysql-nginx-xdebug, pgsql-xdebug, pgsql-nginx-xdebug | Alpine 3.16 |
| 8.0-alpine3.16 | mysql, mysql-nginx, pgsql, pgsql-nginx, mysql-xdebug, mysql-nginx-xdebug, pgsql-xdebug, pgsql-nginx-xdebug | Alpine 3.16 |
| 8.1-alpine3.16 | mysql, mysql-nginx, pgsql, pgsql-nginx, mysql-xdebug, mysql-nginx-xdebug, pgsql-xdebug, pgsql-nginx-xdebug | Alpine 3.16 |
| 8.2-alpine3.16 | mysql, mysql-nginx, pgsql, pgsql-nginx, mysql-xdebug, mysql-nginx-xdebug, pgsql-xdebug, pgsql-nginx-xdebug | Alpine 3.16 |
| 8.3-alpine3.20 | mysql, mysql-nginx, pgsql, pgsql-nginx, mysql-xdebug, mysql-nginx-xdebug, pgsql-xdebug, pgsql-nginx-xdebug | Alpine 3.20 |
| 8.4-alpine3.20 | mysql, mysql-nginx, pgsql, pgsql-nginx, mysql-xdebug, mysql-nginx-xdebug, pgsql-xdebug, pgsql-nginx-xdebug | Alpine 3.20 |
拉取Docker镜像命令:
bashdocker pull docker.xuanyuan.run/8sistemas/laravel-alpine:8.3-alpine3.20-mysql
从当前目录运行:
bashdocker run -v $(pwd):/var/www docker.xuanyuan.run/8sistemas/laravel-alpine:8.3-alpine3.20-mysql "composer install --prefer-dist"
ENABLE_PROMETHEUS_EXPORTER_RUNNER=1启用)。参见https://github.com/EightSystems/laravel-alpine/blob/master/docs/Prometheus-Scrapper.md
www-data(Linux UID 82,GID 82)用户以降权方式运行supervisorctl这些扩展是运行Laravel 8.x及以上版本所需的基础扩展(含部分附加扩展)
docker-php-ext-enable opentelemetry启用)可通过运行docker-ext-install命令添加额外PHP扩展。添加时需安装所需扩展的依赖。
DockerfileFROM docker.xuanyuan.run/8sistemas/laravel-alpine:8.4-alpine3.20-mysql USER root RUN docker-php-ext-install memcached USER www-data
DockerfileFROM docker.xuanyuan.run/8sistemas/laravel-alpine:8.4-alpine3.20-mysql RUN echo '* * * * * /usr/local/bin/php /var/www/artisan another:command >> /dev/null 2>&1' >> /etc/crontabs/www-data
可在/etc/supervisor.d/目录下添加自定义Supervisor配置文件(用于Laravel Queue或Laravel Horizon),文件扩展名为*.ini。默认情况下,此镜像已在Supervisor中添加php-fpm和crond进程。
例如:为Laravel Horizon创建horizon.ini文件
ini[program:horizon] process_name=%(program_name)s command=php /var/www/artisan horizon autostart=true autorestart=true user=www-data redirect_stderr=true stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0
在Docker镜像中添加:
DockerfileFROM docker.xuanyuan.run/8sistemas/laravel-alpine:8.4-alpine3.20-mysql USER root ADD horizon.ini /etc/supervisor.d/ USER www-data
更多Supervisor配置详情参见http://supervisord.org/configuration.html
如示例docker-compose和kube文件所示,基本可移除所有capabilities,但运行CRON需保留setuid和setgid权限;若移除这些权限,需在Dockerfile中通过rm -f /etc/supervisor.d/01_crond.ini禁用CRON。
CRON运行时,即使容器默认以www-data (82)用户运行,仍需使用sudo提升至root权限。因此添加了/etc/sudoers.d/crond-www-data配置,内容如下:
ALL ALL = (root) NOPASSWD: /usr/sbin/crond'
这允许任何用户运行crond命令,以避免过度开放权限。
欢迎在https://github.com/eightsystems/laravel-alpine%E6%8F%90%E4%BA%A4issue%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务