基于最新的 Z-BlogPHP 源码构建容器镜像。
由于每个人对运行环境的需求不同,为保证镜像的通用性和灵活性,仅包含 PHP 运行环境。
如需搭配 Nginx、MySQL 等服务,考虑使用 Docker Compose 等容器编排工具。
- 基于 Z-BlogPHP 最新的 Github 源码
- 提供 PHP 7.4 ~ 8.2 版本
- 包含 Composer 工具
- 支持 AMD 64 和 ARM 架构
- 提供不同规格的扩展套件(详见下文)
- 批量生成不同 PHP 版本和扩展套件的 Dockerfile
- 自定义配置生成 Dockerfile
- 自定义配置生成 docker-compose.yml
- 在容器中运行 Z-BlogPHP 博客程序
- 开发调试 Z-BlogPHP 源码
- 开发调试 Z-BlogPHP 插件
根据所安装扩展的不同,分为 mysql
、pgsql
、和 dev
三种套件(具体扩展详见下一小节)。
- 8.2-fpm, 8.1-fpm, 8.0-fpm, 7.4-fpm
- 8.2-fpm-alpine, 8.1-fpm-alpine (latest), 8.0-fpm-alpine, 7.4-fpm-alpine
- 8.2-fpm-pgsql, 8.1-fpm-pgsql, 8.0-fpm-pgsql, 7.4-fpm-pgsql
- 8.2-fpm-alpine-pgsql, 8.1-fpm-alpine-pgsql, 8.0-fpm-alpine-pgsql, 7.4-fpm-alpine-pgsql
- 8.2-fpm-dev, 8.1-fpm-dev, 8.0-fpm-dev, 7.4-fpm-dev
- 8.2-fpm-alpine-dev, 8.1-fpm-alpine-dev, 8.0-fpm-alpine-dev, 7.4-fpm-alpine-dev,
- Z-BlogPHP 运行目录位于
/var/www/zblogphp
- 附带一份源码压缩包,位于
/usr/local/src/zblogphp.zip
以下命令将根据预设配置 config/generate-publish.json
,批量生成 Dockerfile:
php bin/zbpimage generator:publish
生成的文件在 dockerfile
目录下。
mysql | pgsql | dev* | |
---|---|---|---|
apcu | ✓ | ||
bcmath | ✓ | ||
bz2 | ✓ | ||
event | ✓ | ||
exif | ✓ | ||
gd | ✓ | ✓ | ✓ |
gnupg | ✓ | ||
imagick | ✓ | ✓ | ✓ |
memcached | ✓ | ||
mongodb | ✓ | ||
mysqli | ✓ | ✓ | |
opcache | ✓ | ✓ | ✓ |
pcntl | ✓ | ||
pdo_mysql | ✓ | ✓ | |
pdo_pgsql | ✓ | ✓ | |
pgsql | ✓ | ✓ | |
protobuf | ✓ | ||
redis | ✓ | ✓ | ✓ |
sockets | ✓ | ||
ssh2 | ✓ | ||
swoole | ✓** | ||
xdebug | ✓ | ||
zip | ✓ | ||
zstd | ✓ |
*
dev
套件仅建议开发人员使用
** 因swoole
扩展与xdebug
扩展存在一定的冲突,默认不启用
mysql
与pgsql
套件其实都包含有dev
套件的所有扩展,只是没有启用,如有需要可以通过/usr/local/etc/php/php.ini
启用
最简单且常用的办法,就是在本镜像之上再自行构建:
FROM chrishyze/zblogphp:latest
RUN 自定义构建步骤...
The MIT License