适合生产环境的PHP Docker镜像,针对Laravel和WordPress进行了优化。
收藏数: 56
下载次数: 2191303
类型:
serversideup/phpserversideup/php 是一组优化的 Docker 镜像,专为在生产环境中运行 PHP 应用程序而设计。所有内容都围绕提升 PHP 和 Docker 的开发体验而构建,消除了不同环境配置差异导致的问题,确保代码在任何环境中都能一致运行。
这些镜像经过高度优化,可运行现代 PHP 应用程序,适用于 Laravel 和 WordPress 等框架,无论您希望在何处部署应用程序。
| 生产就绪 | 原生健康检查 | 高性能 |
|---|---|---|
| 可定制和灵活 | 原生 CloudFlare 支持 | 基于官方 PHP |
| NGINX Unit | 统一日志记录 | FPM + S6 Overlay |
该仓库提供多种 Docker 镜像变体,您可以根据需求选择:
| 变体类型 | 描述 |
|---|---|
| cli | PHP 命令行界面版本 |
| fpm | PHP-FPM (FastCGI 进程管理器) 版本 |
| fpm-apache | PHP-FPM + Apache 服务器组合 |
| fpm-nginx | PHP-FPM + NGINX 服务器组合 |
| unit | NGINX Unit 版本 (轻量级应用服务器,支持动态配置) |
每种变体都提供 Debian 和 Alpine 两种基础镜像(部分变体),支持 PHP 7.4 到 8.4 版本。
使用以下镜像名称模式:
shserversideup/php:{{version}}-{{variation-name}}
例如,要使用 PHP 8.2 与 FPM + NGINX,可使用:
shserversideup/php:8.2-fpm-nginx
所有镜像均在 Docker Hub 和 GitHub Packages 上可用。
Debian 基础:
Alpine 基础:
Debian 基础:
Alpine 基础:
Debian 基础:
Debian 基础:
Alpine 基础:
Debian 基础:
使用 PHP 8.2 FPM-NGINX 变体运行简单的 PHP 应用:
bashdocker run -d \ --name php-app \ -p 80:80 \ -v $(pwd):/var/www/html \ serversideup/php:8.2-fpm-nginx
以下是使用 Laravel 应用的 docker-compose.yml 示例:
yamlversion: '3.8' services: app: image: serversideup/php:8.2-fpm-nginx container_name: laravel-app restart: unless-stopped ports: - "80:80" - "443:443" environment: - PHP_MEMORY_LIMIT=512M - PHP_MAX_EXECUTION_TIME=60 - APP_ENV=production - APP_KEY=base64:your-app-key-here - DB_HOST=db - DB_DATABASE=laravel - DB_USERNAME=laraveluser - DB_PASSWORD=laravelpassword volumes: - ./:/var/www/html - ./docker/nginx/conf.d:/etc/nginx/conf.d - ./docker/php/custom.ini:/etc/php.d/custom.ini depends_on: - db db: image: mysql:8.0 container_name: laravel-db restart: unless-stopped environment: - MYSQL_DATABASE=laravel - MYSQL_USER=laraveluser - MYSQL_PASSWORD=laravelpassword - MYSQL_ROOT_PASSWORD=rootpassword volumes: - mysql-data:/var/lib/mysql volumes: mysql-data:
虽然完整的环境变量列表未在文档中详细列出,但以下是一些常用的 PHP 配置环境变量:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
| PHP_MEMORY_LIMIT | PHP 内存限制 | 256M |
| PHP_MAX_EXECUTION_TIME | PHP 最大执行时间(秒) | 30 |
| PHP_POST_MAX_SIZE | POST 数据最大大小 | 8M |
| PHP_UPLOAD_MAX_FILESIZE | 上传文件最大大小 | 2M |
您还可以通过挂载自定义 PHP 配置文件来覆盖默认设置:
bash-v ./custom.ini:/etc/php.d/custom.ini
这些镜像包含生产环境所需的所有配置和安全强化,无需额外调整即可用于生产环境。
针对 PHP 应用进行了优化,包括适当的缓存配置、进程管理和资源分配。
所有服务日志统一输出到标准输出,便于 Docker 日志收集和集中管理。
内置健康检查功能,可与 Docker 的健康检查机制集成,确保服务正常运行。
支持通过环境变量、配置文件挂载或构建自定义镜像来定制 PHP 和 Web 服务器配置。
latest,以确保一致性以下是 serversideup/php 相关的常用 Docker 镜像,适用于 Web 开发、内容管理、传统应用 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。

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