
cdrocker/php-fpmapko/wolfi php-fpm镜像是基于Wolfi最小化Linux发行版构建的PHP-FPM(FastCGI进程管理器)容器镜像。Wolfi是专为容器设计的安全强化型Linux发行版,以最小化***面、精简体积和定期安全更新为核心特性;apko是用于构建OCI兼容镜像的工具,确保镜像构建过程的可重现性和安全性。该镜像将Wolfi的安全精简特性与PHP-FPM的高性能PHP请求处理能力相结合,为PHP应用提供安全、高效且资源友好的运行环境,主要用于与Nginx、Apache等Web服务器配合,处理PHP应用的动态请求。
pm.max_children、pm.start_servers等参数),可根据请求负载自动调整进程数,提升并发处理能力。bashdocker run -d --name php-fpm -p 9000:9000 apko/wolfi php-fpm
说明:默认暴露9000端口(PHP-FPM标准端口),可通过
php -v查看PHP版本:bashdocker exec -it php-fpm php -v
将本地PHP应用目录挂载到容器内(示例挂载到/app目录):
bashdocker run -d --name php-fpm \ -v /path/to/local/app:/app \ -p 9000:9000 \ apko/wolfi php-fpm
yamlversion: '3.8' services: nginx: image: nginx:alpine ports: - "80:80" volumes: - ./nginx.conf:/etc/nginx/conf.d/default.conf # Nginx配置 - ./app:/app # PHP应用代码(与php-fpm共享) depends_on: - php-fpm php-fpm: image: apko/wolfi php-fpm volumes: - ./app:/app # PHP应用代码 environment: - PHP_INI_memory_limit=256M # 自定义PHP内存限制 - PHP_FPM_PM_MAX_CHILDREN=30 # 自定义FPM最大进程数
nginxserver { listen 80; server_name localhost; root /app; # 对应PHP应用代码目录 index index.php index.html; # 转发PHP请求到PHP-FPM location ~ \.php$ { fastcgi_pass php-fpm:9000; # 容器名:端口(与docker-compose服务名对应) fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
通过-e参数设置环境变量,自定义PHP和FPM配置:
| 环境变量 | 说明 | 示例值 |
|---|---|---|
PHP_INI_<KEY> | 设置php.ini参数(KEY为ini配置项) | PHP_INI_memory_limit=256M |
PHP_FPM_PM_MAX_CHILDREN | PHP-FPM最大子进程数 | 30 |
PHP_FPM_PM_START_SERVERS | 启动时的子进程数 | 5 |
PHP_FPM_LISTEN | FPM监听地址(默认9000) | 0.0.0.0:9000 |
示例:
bashdocker run -d --name php-fpm \ -e PHP_INI_post_max_size=10M \ -e PHP_INI_upload_max_filesize=5M \ -e PHP_FPM_PM_MAX_CHILDREN=20 \ apko/wolfi php-fpm
| 挂载路径 | 说明 | 示例 |
|---|---|---|
/path/to/local/app:/app | 挂载PHP应用代码目录 | -v ./my-php-app:/app |
/path/to/custom/php.ini:/etc/php.ini | 挂载自定义php.ini文件 | -v ./php.ini:/etc/php.ini |
/path/to/fpm.conf:/etc/php-fpm.conf | 挂载自定义PHP-FPM配置文件 | -v ./fpm.conf:/etc/php-fpm.conf |
非root用户运行:Wolfi镜像默认以非root用户启动,挂载目录时需确保容器用户对目录有读写权限,可通过chmod调整本地目录权限或在docker run中添加--user root临时测试(生产环境不建议)。
扩展安装:如需额外PHP扩展(如mysqli、redis),可基于此镜像构建自定义Dockerfile:
dockerfileFROM apko/wolfi php-fpm RUN apk add php-mysqli php-redis # Wolfi使用apk作为包管理器
版本兼容性:通过docker run --rm apko/wolfi php-fpm php -v确认PHP版本,确保与应用兼容。
日志查看:PHP-FPM日志默认输出到stdout,可通过docker logs php-fpm查看。



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务