
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
https://github.com/marcochiodo/docker-apache-php
https://hub.docker.com/r/sigblue/apache-php
开发者:Marco Chiodo
Docker Apache PHP 镜像扩展自官方 php:*-apache 镜像,预安装了大多数常用PHP扩展,并提供 light、standard、full 三个版本以满足不同需求。该镜像简化了PHP Web应用的部署流程,内置优化的Apache配置,支持环境变量自定义端口,默认适配现代PHP框架的URL重写需求。
提供三个预配置版本,适配不同扩展需求:
light:基础版本,包含核心扩展standard:标准版本,包含更多常用扩展full:完整版本,包含几乎所有主流扩展镜像已预装多数常用PHP扩展,以下扩展需通过 docker-php-ext-enable 命令或 php.ini 文件手动启用:
iniextension=grpc.so extension=imagick.so extension=memcached.so extension=mongodb.so extension=protobuf.so extension=redis.so
/etc/apache2/ports.conf 中的端口 80 替换为 ${PORT} 环境变量值,支持动态指定端口apache<VirtualHost *:${PORT}> DocumentRoot /var/www/html/public RewriteEngine On # 保留Authorization头信息 RewriteCond %{HTTP:Authorization} ^(.*) RewriteRule .* - [e=HTTP_AUTHORIZATION:%1] # 前端路由重写规则 <Directory /var/www/html/public > RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteCond %{REQUEST_URI}::$1 ^(/.+)(.+)::\2$ RewriteRule ^(.*) - [E=BASE:%1] RewriteRule ^(.*)$ %{ENV:BASE}index.php [NC,L] </Directory> # 目录权限配置 <Directory /var/www/html > Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> LogLevel notice ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
拉取镜像时通过标签指定版本,默认标签为 latest(对应 standard 版本):
bash# light版本 docker pull sigblue/apache-php:latest-light # standard版本(默认) docker pull sigblue/apache-php:latest-standard # full版本 docker pull sigblue/apache-php:latest-full
部分扩展需手动启用,可通过以下两种方式:
方式一:在Dockerfile中使用docker-php-ext-enable
dockerfileFROM sigblue/apache-php:latest-standard RUN docker-php-ext-enable redis mongodb
方式二:挂载php.ini文件
在项目根目录创建 php.ini,添加扩展启用配置,并挂载到容器 /var/www/html 目录:
ini; php.ini extension=redis.so extension=mongodb.so
PORT:指定Apache监听端口(默认替换配置文件中的80端口),如 -e PORT=8080基础运行示例
bashdocker run -d \ -p 8080:8080 \ -e PORT=8080 \ -v $(pwd):/var/www/html \ sigblue/apache-php:latest-standard
Docker Compose示例
yaml# docker-compose.yml version: '3' services: php-app: image: sigblue/apache-php:latest-standard ports: - "8080:8080" environment: - PORT=8080 volumes: - ./:/var/www/html - ./php.ini:/var/www/html/php.ini # 自定义php.ini restart: always
/var/www/html 目录,框架项目的入口文件应放在 /var/www/html/public(默认DocumentRoot)/etc/apache2/sites-available/000-default.conf 覆盖默认配置您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务