本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

amd64、arm32v5、arm32v6、arm32v7、arm64v8、i386、mips64le、ppc64le、riscv64、s390x(架构说明)PHP 是一种服务器端脚本语言,主要用于 Web 开发,也可作为通用编程语言。它可嵌入 HTML,或与模板引擎、Web 框架配合使用。PHP 代码通常由解释器处理,解释器可作为 Web 服务器的原生模块或 CGI 程序运行。
更多信息:*** PHP 条目
!PHP 标志
在 PHP 项目中编写 Dockerfile:
FROM php:8.2-cli COPY . /usr/src/myapp WORKDIR /usr/src/myapp CMD ["php", "./your-script.php"]
构建并运行镜像:
$ docker build -t my-php-app . $ docker run -it --rm --name my-running-app my-php-app
简单项目可直接通过镜像运行 PHP 脚本,无需完整 Dockerfile:
$ docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp php:8.2-cli php your-script.php
部分扩展已预编译到镜像中,可先通过 php -m 或 php -i 检查已安装扩展,避免重复编译。镜像提供 docker-php-ext-configure、docker-php-ext-install、docker-php-ext-enable 工具简化扩展安装,以及 docker-php-source 用于临时提取 PHP 源码(建议用完即删,减小镜像体积):
FROM php:8.2-cli RUN docker-php-source extract \ # 执行编译操作 \ && docker-php-source delete
以安装 GD 扩展为例(需先安装依赖库):
FROM php:8.2-fpm RUN apt-get update && apt-get install -y \ libfreetype-dev \ libjpeg62-turbo-dev \ libpng-dev \ && docker-php-ext-configure gd --with-freetype --with-jpeg \ && docker-php-ext-install -j$(nproc) gd
依赖库需手动安装。若不确定依赖,可参考 install-php-extensions 项目(社区工具,自动处理依赖)。
通过 PECL 安装非核心扩展,需配合 docker-php-ext-enable 启用:
FROM php:8.2-cli RUN pecl install redis-5.3.7 \ && pecl install xdebug-3.2.1 \ && docker-php-ext-enable redis xdebug
安装 PECL 扩展时建议指定版本号,避免兼容性问题;多个扩展需分步骤安装(如
pecl install A && pecl install B),确保错误可追踪。
非核心/PECL 扩展可通过源码编译安装,示例:
FROM php:8.2-cli RUN curl -fsSL "[扩展源码URL]" -o module-name.tar.gz \ && mkdir -p /tmp/module-name \ && tar -xf module-name.tar.gz -C /tmp/module-name --strip-components=1 \ && rm module-name.tar.gz \ && docker-php-ext-configure /tmp/module-name --enable-module-name \ && docker-php-ext-install /tmp/module-name \ && rm -r /tmp/module-name
镜像包含 php.ini-development(开发环境)和 php.ini-production(生产环境),建议生产环境使用后者:
FROM php:8.2-fpm-alpine # 启用生产环境配置 RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
通过挂载或复制文件到 $PHP_INI_DIR/conf.d/ 目录添加自定义配置:
FROM php:8.2-fpm COPY my-config.ini $PHP_INI_DIR/conf.d/
该错误因镜像默认屏蔽 Debian 的 PHP 包(避免冲突)。正确解决方式:
debian 镜像构建;docker-php-ext-install 或 PECL 安装。临时 workaround(不推荐,可能导致 PHP 多版本冲突):
RUN rm /etc/apt/preferences.d/no-debian-php
php:<version>-cli包含 PHP CLI 工具,适用于命令行脚本,无 Web 服务器。
php:<version>-apache基于 Apache 服务器(搭配 mod_php 和 mpm_prefork),直接提供 Web 服务。示例 Dockerfile:
FROM php:7.2-apache COPY src/ /var/www/html/
php:<version>-fpm包含 PHP-FPM(FastCGI 进程管理器),需配合反向代理(如 Nginx、Apache)使用。
php:<version>-alpine基于 Alpine Linux,体积更小(约 5MB 基础镜像),但使用 musl libc,部分依赖可能需要额外适配。适合对镜像大小敏感的场景。
PHP 软件许可证见 官方说明。镜像可能包含其他软件(如 Bash),其许可证信息可参考 repo-info 仓库。使用前请确保合规。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429