
如果你使用 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/geerlingguy/php-apache-container/actions/workflows/build.yml/badge.svg](https://github.com/geerlingguy/php-apache-container/actions/workflows/build.yml)
本项目由三个主要部分组成:
geerlingguy.php。(该Ansible角色是管理PHP容器的核心组件。)当前维护的版本包括:
8.3、8.3.x、latest:PHP 8.3.x8.2、8.2.x:PHP 8.2.x8.1、8.1.x:PHP 8.1.x如需使用Docker Hub上的geerlingguy/php-apache镜像,无需安装或使用本项目。可通过以下命令快速本地构建PHP容器:
bashdocker run -d --name=php-apache -p 80:80 geerlingguy/php-apache:latest /usr/sbin/apache2ctl -D FOREGROUND
也可将配置封装到Dockerfile和/或docker-compose.yml中以简化管理。例如:
yamlversion: "3" services: php-apache: image: geerlingguy/php-apache:latest container_name: php-apache ports: - "80:80" restart: always # 有关卷的说明,请参见“自定义PHP代码库”部分。 volumes: []
然后运行:
bashdocker-compose up -d
现在可通过http://localhost/访问默认主页。
若本地有web文件夹中的代码库,可通过卷挂载:-v ./web:/var/www/html:rw,delegated。
使用Docker Compose文件时:
yamlservices: myapp: ... volumes: - ./web:/var/www/html:rw,delegated
如需基于此镜像构建生产环境镜像,可创建Dockerfile并通过COPY指令将webroot复制到镜像中。
若需运行多个webroot或自定义Apache虚拟主机配置,可挂载配置文件覆盖容器内的默认配置,例如:
yamlservices: myapp: ... volumes: - ./web:/var/www/html:rw,delegated - ./virtualhosts.conf:/etc/apache2/sites-enabled/vhosts.conf:rw
类似地,可挂载PHP配置文件到路径/etc/php/8.3/apache2/php.ini(根据使用的PHP版本替换路径中的版本号)。
使用本项目构建和维护Docker PHP镜像前,需安装:
首先安装Ansible角色依赖:
bashansible-galaxy install -r requirements.yml
确保Docker运行后,执行playbook构建容器:
bashansible-playbook --extra-vars="@vars/8.2.yml" main.yml
(将vars路径中的版本号替换为所需的支持版本)构建完成后,运行docker images可查看生成的php-apache镜像。
注意:若出现
Failed to import docker错误,运行pip install docker解决。
有关自动推送所有标签镜像的方法,参见本仓库中的.github/workflows/build.yml文件(master分支提交时自动触发)。
MIT / BSD
本容器构建项目由Jeff Geerling于2018年创建,他也是《Ansible for DevOps》的作者。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务