
如果你使用 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官方Docker镜像是预配置的标准化PHP运行环境,基于Debian或Alpine Linux构建,旨在简化PHP应用的部署流程。该镜像提供多版本PHP支持、灵活的扩展管理机制和优化的运行配置,可直接用于开发调试、自动化测试或生产环境部署。
debian(默认,功能全面,适合生产环境)alpine(轻量级,体积小,适合资源受限场景)slim(精简版Debian基础,平衡体积与功能)docker-php-ext-install、docker-php-ext-enable等工具,支持一键安装/启用PHP扩展(如mysqli、pdo_mysql、gd、opcache等)php.ini或配置目录覆盖默认PHP配置1. 运行PHP交互式终端
bashdocker run -it --rm php:latest php -a
--rm确保容器退出后自动清理,适合临时测试
2. 运行本地PHP脚本
将当前目录挂载到容器内并执行脚本:
bashdocker run -it --rm -v "$PWD":/app -w /app php:8.2-cli php your_script.php
-v "$PWD":/app:挂载当前目录到容器内/app目录-w /app:设置工作目录为/app3. 配合Nginx部署Web应用(Docker Compose)
创建docker-compose.yml:
yamlversion: '3.8' services: php-fpm: image: php:8.2-fpm-alpine volumes: - ./app:/var/www/html # 挂载PHP应用代码 - ./php.ini:/usr/local/etc/php/php.ini # 自定义PHP配置 restart: always nginx: image: nginx:alpine ports: - "80:80" volumes: - ./app:/var/www/html - ./nginx.conf:/etc/nginx/conf.d/default.conf # Nginx配置 depends_on: - php-fpm restart: always
通过docker-php-ext-install安装内置扩展:
dockerfile# 构建自定义镜像示例(Dockerfile) FROM php:8.2-fpm-alpine # 安装基础依赖(Alpine需使用apk包管理器) RUN apk add --no-cache libpng-dev libjpeg-turbo-dev freetype-dev \ && docker-php-ext-configure gd --with-freetype --with-jpeg \ && docker-php-ext-install -j$(nproc) gd pdo_mysql mysqli opcache
安装PECL扩展(如Redis):
dockerfileFROM php:8.2-cli RUN pecl install redis-5.3.7 && docker-php-ext-enable redis
自定义php.ini
挂载外部配置文件覆盖默认设置:
bashdocker run -d --name php-app \ -v ./custom-php.ini:/usr/local/etc/php/php.ini \ -v ./app:/var/www/html \ php:8.2-fpm
扩展配置目录
通过挂载conf.d目录添加扩展配置:
bashdocker run -d --name php-app \ -v ./php-conf.d:/usr/local/etc/php/conf.d \ php:8.2-fpm
容器内默认配置路径:
/usr/local/etc/php/php.ini(主配置)和/usr/local/etc/php/conf.d/(扩展配置)
| 标签格式 | 说明 | 示例 |
|---|---|---|
php:<version> | 默认Debian基础,包含CLI和基础扩展 | php:8.2 |
php:<version>-alpine | Alpine基础,轻量级(约30-50MB) | php:8.2-alpine |
php:<version>-fpm | 包含PHP-FPM,用于Web服务器反向代理 | php:8.2-fpm-alpine |
php:<version>-cli | 仅包含CLI模式,无Web服务组件 | php:8.2-cli-slim |
php:<version>.<patch> | 固定小版本,确保依赖稳定性 | php:8.2.15-fpm-alpine3.19 |
| 变量名 | 说明 | 默认值 |
|---|---|---|
PHP_INI_DIR | PHP配置文件根目录 | /usr/local/etc/php |
PHPIZE_DEPS | 编译扩展所需的依赖包列表 | 自动包含(构建阶段使用) |
TZ | 容器时区 | 继承基础镜像时区 |
latest,建议指定完整版本(如php:8.2.15-fpm-alpine3.19)确保部署一致性php.ini和扩展配置,避免配置硬编码--memory=512m --cpus=0.5)防止资源耗尽bashdocker run -d --name php-app \ --health-cmd "php -r 'exit(extension_loaded(\"pdo_mysql\") ? 0 : 1);'" \ --health-interval=30s \ --health-timeout=5s \ php:8.2-fpm
-u $(id -u):$(id -g)指定用户ID)libpng-dev对应gd扩展)display_errors、启用opcache并优化php-fpm.conf进程配置您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 brainbitsgmbh/php 相关的常用 Docker 镜像,适用于 Web 开发、内容管理、传统应用 等不同场景: