
如果你使用 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运行时环境及其依赖组件,旨在简化PHP应用的部署与运行流程。支持多种稳定PHP版本(如7.4、8.0、8.1、8.2等),提供不同变体(CLI、FPM、Apache)以适配不同应用场景,可直接用于开发、测试和生产环境。
预安装PHP开发常用扩展,包括:
mysqli、pdo_mysql、pdo_pgsqlgd、imagick(部分版本)curl、openssl、mbstringjson、xml、zip、redis(部分版本)通过官方提供的工具脚本自定义扩展:
docker-php-ext-install:安装并启用扩展docker-php-ext-enable:启用已安装的扩展docker-php-ext-configure:配置扩展编译参数php.ini文件自定义PHP配置快速搭建统一的本地开发环境,通过目录挂载实现代码实时更新与测试,避免环境差异导致的"在我电脑上能运行"问题。
在CI/CD流程中作为测试环境,快速部署应用并执行单元测试、集成测试,确保代码质量。
配合容器编排工具(Kubernetes/Docker Compose)实现规模化部署,支持负载均衡、滚动更新等生产级特性。
从Docker Hub拉取指定版本镜像:
bash# 格式:docker pull docker.xuanyuan.run/php:[版本]-[变体] # 示例:拉取PHP 8.1 FPM版本 docker pull docker.xuanyuan.run/php:8.1-fpm
4.2.1 运行PHP脚本(CLI模式)
bash# 将当前目录挂载到容器内/app,执行脚本 docker run --rm -v $(pwd):/app docker.xuanyuan.run/php:8.1-cli php /app/script.php
4.2.2 部署Web应用(Nginx+FPM)
使用Docker Compose编排Nginx与PHP-FPM服务:
目录结构
project/ ├── docker-compose.yml ├── nginx/ │ └── default.conf # Nginx配置 └── src/ # PHP应用代码 └── index.php
Nginx配置(nginx/default.conf)
nginxserver { listen 80; server_name localhost; root /var/www/html; index index.php index.html; location ~ \.php$ { fastcgi_pass php-fpm:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
docker-compose.yml配置
yamlversion: '3' services: nginx: image: docker.xuanyuan.run/nginx:alpine ports: - "80:80" volumes: - ./nginx/default.conf:/etc/nginx/conf.d/default.conf - ./src:/var/www/html depends_on: - php-fpm php-fpm: image: docker.xuanyuan.run/php:8.1-fpm volumes: - ./src:/var/www/html
启动服务
bashdocker-compose up -d
访问http://localhost即可查看PHP应用。
4.3.1 挂载自定义php.ini
bash# 创建自定义php.ini,挂载到容器配置目录 docker run --rm -v $(pwd)/php.ini:/usr/local/etc/php/php.ini docker.xuanyuan.run/php:8.1-cli php -i | grep "Loaded Configuration File"
示例:安装gd扩展(需先安装系统依赖)
bashdocker run --rm -it docker.xuanyuan.run/php:8.1-cli bash # 容器内执行 apt-get update && apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng-dev docker-php-ext-configure gd --with-freetype --with-jpeg docker-php-ext-install -j$(nproc) gd # 验证安装 php -m | grep gd
| 环境变量 | 描述 | 默认值 |
|---|---|---|
| PHP_INI_DIR | PHP配置文件目录 | /usr/local/etc/php |
| PHP_MEMORY_LIMIT | 内存限制 | 128M |
| PHP_MAX_EXECUTION_TIME | 最大执行时间(秒) | 30 |
| PHP_POST_MAX_SIZE | POST数据最大尺寸 | 8M |
| PHP_UPLOAD_MAX_FILESIZE | 上传文件最大尺寸 | 2M |
php:8.1.20-fpm),避免latest标签导致版本不可控您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务