
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本Docker镜像集成了PHP FPM(FastCGI Process Manager)和ssmtp(简单邮件传输协议客户端),旨在为PHP应用提供轻量级、易部署的运行环境。PHP版本通过镜像标签指定(如7.4、8.0等),ssmtp组件提供基础邮件发送能力,适用于需要PHP运行环境且依赖邮件功能的应用场景。
php-fpm-ssmtp:7.4对应PHP 7.4,php-fpm-ssmtp:8.2对应PHP 8.2),满足不同应用的PHP版本需求。php.ini或环境变量调整PHP配置(如内存限制、执行时间等)。通过docker pull命令获取镜像,指定所需PHP版本标签(以PHP 7.4为例):
bashdocker pull [镜像仓库地址]/php-fpm-ssmtp:7.4
注:实际使用时需替换
[镜像仓库地址]为镜像所在的仓库(如Docker Hub、私有仓库等)。
2.1 启动容器并运行PHP应用
挂载本地PHP应用目录(如./app),暴露PHP FPM端口(默认9000):
bashdocker run -d \ --name php-fpm-app \ -v $(pwd)/app:/var/www/html \ # 挂载PHP应用代码目录 -p 9000:9000 \ # 映射PHP FPM端口(供Web服务器反向代理) [镜像仓库地址]/php-fpm-ssmtp:7.4
2.2 配合Nginx使用
通过Docker Compose实现PHP FPM与Nginx联动(示例docker-compose.yml):
yamlversion: '3' services: php-fpm: image: [镜像仓库地址]/php-fpm-ssmtp:7.4 volumes: - ./app:/var/www/html environment: - SMTP_SERVER=smtp.example.com # ssmtp SMTP服务器 - SMTP_PORT=587 # SMTP端口 - SMTP_USER=user@example.com # SMTP认证用户名 - SMTP_PASS=password # SMTP认证密码 restart: always nginx: image: nginx:alpine ports: - "80:80" volumes: - ./nginx.conf:/etc/nginx/conf.d/default.conf # Nginx反向代理配置 - ./app:/var/www/html # 共享PHP应用目录 depends_on: - php-fpm restart: always
Nginx配置示例(nginx.conf):
nginxserver { listen 80; server_name localhost; root /var/www/html; location ~ \.php$ { fastcgi_pass php-fpm:9000; # 连接PHP FPM容器 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
ssmtp通过/etc/ssmtp/ssmtp.conf文件配置,支持通过环境变量或挂载配置文件自定义参数:
3.1 环境变量配置(推荐)
启动容器时注入环境变量,自动生成ssmtp.conf:
bashdocker run -d \ --name php-fpm-with-email \ -v $(pwd)/app:/var/www/html \ -e SMTP_SERVER=smtp.example.com \ # SMTP服务器地址(必填) -e SMTP_PORT=587 \ # SMTP端口(默认25,SSL通常为465,TLS为587) -e SMTP_USER=user@example.com \ # SMTP认证用户名(如需要) -e SMTP_PASS=password \ # SMTP认证密码(如需要) -e FROM_LINE_OVERRIDE=yes \ # 是否允许覆盖发件人地址(yes/no) -e FROM_ADDR=noreply@example.com \ # 默认发件人地址 [镜像仓库地址]/php-fpm-ssmtp:7.4
3.2 自定义配置文件
挂载本地ssmtp.conf文件覆盖默认配置:
bashdocker run -d \ --name php-fpm-custom-ssmtp \ -v $(pwd)/app:/var/www/html \ -v $(pwd)/ssmtp.conf:/etc/ssmtp/ssmtp.conf \ # 挂载自定义ssmtp配置 [镜像仓库地址]/php-fpm-ssmtp:7.4
ssmtp.conf示例配置:
inimailhub=smtp.example.com:587 AuthUser=user@example.com AuthPass=password FromLineOverride=yes FromAddr=noreply@example.com UseTLS=yes
4.1 挂载自定义php.ini
通过挂载本地php.ini覆盖默认配置:
bashdocker run -d \ --name php-fpm-custom-phpini \ -v $(pwd)/app:/var/www/html \ -v $(pwd)/php.ini:/usr/local/etc/php/php.ini \ # 挂载自定义php.ini [镜像仓库地址]/php-fpm-ssmtp:7.4
4.2 通过环境变量调整(部分配置)
部分PHP配置支持通过环境变量调整(具体取决于镜像实现),例如:
bashdocker run -d \ --name php-fpm-env-config \ -e PHP_MEMORY_LIMIT=256M \ # 设置内存限制 -e PHP_MAX_EXECUTION_TIME=60 \ # 设置最大执行时间(秒) [镜像仓库地址]/php-fpm-ssmtp:7.4
.env)管理。以下是 antoinevdsk/php 相关的常用 Docker 镜像,适用于 Web 开发、内容管理、传统应用 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务