
gists/php本镜像为基于Alpine的PHP-FPM镜像,用于提供运行PHP应用的FPM服务。支持通过环境变量自定义PHP.ini和FPM配置参数,提供持久化卷用于挂载应用代码,并允许设置运行权限,适用于作为Web服务器(如Nginx)的后端处理PHP请求。
/var/www卷,用于挂载PHP应用代码,确保数据持久化可通过环境变量自定义PHP及FPM配置,以下为支持的环境变量、对应配置项及默认值:
| 环境变量 | 对应配置项 | 默认值 |
|---|---|---|
| MEMORY_LIMIT | memory_limit | 256M |
| MAX_EXECUTION_TIME | max_execution_time | 60 |
| UPLOAD_MAX_FILESIZE | upload_max_filesize | 64M |
| MAX_FILE_UPLOADS | max_file_uploads | 20 |
| POST_MAX_SIZE | post_max_size | 64M |
| MAX_INPUT_VARS | max_input_vars | 4000 |
| DATE_TIMEZONE | date.timezone | Asia/Shanghai |
| PM_MAX_CHILDREN | pm.max_children | 6 |
| PM_START_SERVERS | pm.start_servers | 4 |
| PM_MIN_SPARE_SERVERS | pm.min_spare_servers | 2 |
| PM_MAX_SPARE_SERVERS | pm.max_spare_servers | 6 |
| UID | 用户ID | 101 |
| GID | 组ID | 101 |
/var/www:用于挂载PHP应用代码目录,容器内PHP进程将从该目录读取并执行应用代码通过docker run命令启动容器,挂载应用目录并自定义配置:
bashdocker run \ -d \ --name php-fpm \ -v /本地应用目录:/var/www \ # 挂载本地PHP应用代码到容器内/var/www -e UPLOAD_MAX_FILESIZE=128M \ # 自定义上传文件大小限制 gists/php
以下为配合Nginx使用的docker-compose配置示例,实现PHP应用的完整部署:
yamlversion: '3' services: php: container_name: php image: gists/php # 使用本PHP-FPM镜像 volumes: - /本地应用目录:/var/www # 挂载PHP应用代码 - phpsocket:/run/php # 共享sock文件给Nginx environment: UPLOAD_MAX_FILESIZE: 128M # 自定义上传文件大小 MEMORY_LIMIT: 512M # 自定义内存限制 restart: always # 容器退出后自动重启 nginx: container_name: nginx image: nginx:stable-alpine # Nginx镜像 ports: - "80:80" # 映射HTTP端口 - "443:443" # 映射HTTPS端口 volumes: - /本地应用目录:/var/www # 共享应用代码目录 - phpsocket:/run/php # 共享PHP-FPM的sock文件 # 可添加Nginx配置文件挂载:- /本地Nginx配置:/etc/nginx/conf.d depends_on: - php # 依赖php服务,确保php先启动 restart: always volumes: phpsocket: # 用于PHP和Nginx共享sock文件的命名卷
需在Nginx配置中通过fastcgi_pass连接PHP-FPM,根据镜像标签(php8或php5)使用不同的sock路径:
使用gists/php(默认php8):
nginxfastcgi_pass unix:/run/php/php8-fpm.sock;
使用gists/php:5(php5):
nginxfastcgi_pass unix:/run/php/php5-fpm.sock;

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