
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
用于LAMP开发栈)的本地开发镜像
这些镜像专为中小型PHP项目的高效本地开发设计,通常部署在共享主机环境中。此方案的主要优势包括:
docker compose启动。无需为每个项目维护和重建单独镜像,您可以依赖一套一致、维护良好的基础镜像,覆盖大多数标准开发工作流——无设置开销且资源重复最少。
linux/amd64bmath、
bz2、
calendar、
exif、
支持PNG、WebP、AVIF、FreeType字体的gd、
gettext、
gmp、
intl、
memcached、
mysqli、
pdo_mysql、
opcache、
pcntl、
semaphore、
sockets、
soap、
sodium、
xsl和
zipexpires、
headers和
rewriteDocumentRoot已修改为:/var/www/html/www(可通过环境变量配置)部分PHP扩展因已过时且与其他组件的重要更新不兼容而被有意排除。
| 包名 | 支持至版本 | 移除原因 |
|---|---|---|
imap | 8.3.24、8.2.28、8.1.32及旧版本镜像(8.0及以下) | 与Debian 13不兼容 |
将https://github.com/jakubboucek/docker-lamp-devstack/blob/master/docker-compose.yml%E6%96%87%E4%BB%B6%EF%BC%88https://downfile.github.io/download?url=https%3A//raw.githubusercontent.com/jakubboucek/docker-lamp-devstack/master/docker-compose.yml&file=docker-compose.yml%EF%BC%89%E5%A4%8D%E5%88%B6%E5%88%B0%E9%A1%B9%E7%9B%AE%E6%A0%B9%E7%9B%AE%E5%BD%95%EF%BC%88%E6%97%A0%E9%9C%80%E5%85%8B%E9%9A%86/%E4%B8%8B%E8%BD%BD%E6%95%B4%E4%B8%AA%E4%BB%93%E5%BA%93%EF%BC%8C%E4%BB%85%E5%A4%8D%E5%88%B6%E8%AF%A5%E6%96%87%E4%BB%B6%E5%8D%B3%E5%8F%AF%EF%BC%89%E3%80%82
执行docker compose up。容器运行后,项目将通过http://localhost:8080/提供服务。
仅项目的/www子目录会被提供Web访问,但PHP脚本可访问整个项目根目录。即只有/www子目录可通过Web公开访问,而非整个应用。
示例:
my_project/ <-- 项目根目录 docker-compose.yml <-- 本仓库的Docker配置文件 www/ <-- 文档根目录,可通过http://localhost:8080/访问 index.php <-- 您的PHP应用 logo.png <-- 可通过http://localhost:8080/logo.png访问 gallery/ photo1.jpg <-- 可通过http://localhost:8080/gallery/photo1.jpg访问 vendor/ autoload.php <-- 不可Web访问,但PHP可通过require(__DIR__ . '/../vendor/autoload.php')访问
镜像使用级联语义化版本标签:
jakubboucek/lamp-devstack-php:latest – 最新稳定PHP版本镜像jakubboucek/lamp-devstack-php:8 – 8.x系列最新版本(低于9.0.0)jakubboucek/lamp-devstack-php:8.4 – 8.4.x系列最新版本(低于8.5.0)jakubboucek/lamp-devstack-php:8.4.0 – 特定版本8.4.0旧版PHP镜像使用不同标签策略,仅提供各次要版本的最新修订版,使用-legacy后缀:
jakubboucek/lamp-devstack-php:8.0-legacyjakubboucek/lamp-devstack-php:7.4-legacyjakubboucek/lamp-devstack-php:7.3-legacyjakubboucek/lamp-devstack-php:7.2-legacyjakubboucek/lamp-devstack-php:7.1-legacyjakubboucek/lamp-devstack-php:7.0-legacyjakubboucek/lamp-devstack-php:5.6-legacyjakubboucek/lamp-devstack-php:5.5-legacyjakubboucek/lamp-devstack-php:5.4-legacy-fixed注意:5.4版本使用
-fixed后缀,因无法从头重建。
所有PHP镜像均提供预安装Xdebug扩展的变体,使用-debug后缀,示例:
jakubboucek/lamp-devstack-php:debugjakubboucek/lamp-devstack-php:8-debugjakubboucek/lamp-devstack-php:8.4-debugjakubboucek/lamp-devstack-php:8.4.0-debugjakubboucek/lamp-devstack-php:7.4-legacy-debug注意:PHP 8.4暂包含Xdebug测试版
所有PHP镜像还提供CLI变体,使用-cli后缀,示例:
jakubboucek/lamp-devstack-php:clijakubboucek/lamp-devstack-php:8-clijakubboucek/lamp-devstack-php:8.4-clijakubboucek/lamp-devstack-php:8.4.0-clijakubboucek/lamp-devstack-php:7.4-legacy-cliPHP 8.5预发布版镜像使用-rc后缀,示例:
jakubboucek/lamp-devstack-php:8.5-rcjakubboucek/lamp-devstack-php:8.5-rc-cli部分php.ini指令可通过环境变量修改,无需操作镜像内容。可在docker run命令或docker-compose.yml文件中定义。
可配置指令:
PHP_ERROR_REPORTING - 修改error_reporting指令(默认值:32767,即E_ALL)PHP_DISPLAY_ERRORS - 修改display_errors指令(默认值:1)PHP_DISPLAY_STARTUP_ERRORS - 修改display_startup_errors指令(默认值:1,PHP 7为0)PHP_ERROR_LOG – 修改error_log指令(默认值:空)PHP_LOG_ERRORS – 修改log_errors指令(默认值:0)PHP_MAX_EXECUTION_TIME – 修改max_execution_time指令(默认值:30)PHP_MEMORY_LIMIT – 修改memory_limit指令(默认值:2G)PHP_SESSION_SAVE_PATH – 修改session.save_path指令(默认值:空)PHP_OPCACHE_BLACKLIST_FILENAME – 修改opcache.blacklist_filename指令(默认值:空)PHP_OPCACHE_ENABLE – 修改opcache.enable指令(默认值:1)PHP_OPCACHE_ENABLE_CLI – 修改opcache.enable_cli指令(默认值:0)PHP_OPCACHE_JIT – 修改opcache.jit指令(默认值:tracing,PHP 8.4中已变更为disable)PHP_OPCACHE_JIT_BUFFER_SIZE – 修改opcache.jit_buffer_size指令(默认值:0,PHP 8.4中已变更为64M)PHP_OPCACHE_MEMORY_CONSUPTION – 修改opcache.memory_consumption指令(默认值:128)PHP_OPCACHE_PRELOAD – 修改opcache.preload指令(默认值:空)PHP_OPCACHE_PRELOAD_USER – 修改opcache.preload_user指令(默认值:空)PHP_OPCACHE_VALIDATE_TIMESTAMPS – 修改opcache.validate_timestamps指令(默认值:1)PHP_OPCACHE_REVALIDATE_FREQ – 修改opcache.revalidate_freq指令(默认值:2)docker run命令示例:
shelldocker run --rm -e PHP_MEMORY_LIMIT=1G jakubboucek/lamp-devstack-php php -i
docker-compose.yml文件示例:
yamlenvironment: PHP_MEMORY_LIMIT: 1G
创建APACHE_DOCUMENT_ROOT环境变量,值为文档根目录路径。
可直接通过docker run指定:
shelldocker run -it --rm -e APACHE_DOCUMENT_ROOT=/my-web jakubboucek/lamp-devstack-php
也可在docker-compose.yml中配置:
yamlenvironment: APACHE_DOCUMENT_ROOT: "/my-web"
默认未定义时区(将使用UTC)。可通过设置TZ环境变量为所需时区名称(如Europe/Prague)修改默认时区。
可直接通过docker run指定:
shelldocker run -it --rm -e TZ=Europe/Prague jakubboucek/lamp-devstack-php
或在docker-compose.yml中配置:
yamlenvironment: TZ: Europe/Prague
TZ环境变量也被Linux工具识别。设置该变量将修改整个Linux系统及PHP的默认时区。
PHP 8.2及以上版本默认TZ变量设为'UTC'(其他版本为空)。
PHP使用Linux原生临时目录存储所有临时文件(包括会话和上传文件)。本镜像未提供自定义修改方式,可通过TEMPDIR环境变量统一修改。
可直接通过docker run指定:
shelldocker run -it --rm -e TEMPDIR=/var/www/temp jakubboucek/lamp-devstack-php
或在docker-compose.yml中配置:
yamlenvironment: TEMPDIR: /var/www/temp
注意:目录必须已存在且对所有用户可写(0777权限),否则PHP可能不稳定或丢失数据(如会话数据)。将临时目录移至与主机共享的卷可能严重影响性能。
TEMPDIR环境变量也被Linux工具识别,设置后将修改整个Linux系统、PHP及MySQL的默认临时目录。
Apache默认配置监听TCP 80端口。可通过PORT环境变量修改Apache监听的HTTP请求端口。
注意:此变量仅影响Apache运行时。修改端口后,需手动将容器端口发布到主机或在网络中暴露,以便从主机访问。
可直接通过docker run指定:
shelldocker run -it --rm -e PORT=8080 -p 8080:8080 jakubboucek/lamp-devstack-php
或在docker-compose.yml中配置:
yamlports: - "8080:8080" environment: PORT: 8080
PORT环境变量也被多数服务(如Google Cloud Run)识别。
除上述外的设置可通过卷挂载将INI文件挂载到/usr/local/etc/php/conf.d目录,无需构建自定义镜像。
在项目根目录创建custom.ini文件,示例:
inisendmail_from = any@my-domain.tld
在docker-compose.yml中通过volume指令挂载文件:
yamlvolumes: - "./custom.ini:/usr/local/etc/php/conf.d/custom.ini"
参考docker-compose.yml文件了解volume指令的使用示例。
已准备包含Xdebug的PHP镜像。使用https://github.com/jakubboucek/docker-lamp-devstack/blob/master/docker-compose-debug.yml%EF%BC%88%5B%E4%B8%8B%E8%BD%BD](https://downfile.github.io/download?url=https%3A//raw.githubusercontent.com/j
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务