Docker¶
简介¶
自版本 5.9.2 起,我们提供了生产就绪的 Docker 镜像以方便您的使用。
默认情况下,Docker 镜像以用户身份运行phalcon在组phalcon和UID和GID1000 中。
您可以通过在 Docker Compose 或堆栈文件中提供不同的用户和组来覆盖这些值。
您也可以使用我们的Dockerfile来永久更改这些值。
如何下载?¶
我们在 Docker Hub 和 GitHub 上提供 Docker 镜像。请参阅下表获取地址:
| 提供商 | 拉取命令示例 | 
|---|---|
| Docker Hub | docker pull phalconphp/cphalcon:v5.9.2-php8.4 |  
| GitHub | docker pull ghcr.io/phalcon/cphalcon:v5.9.2-php8.4 |  
注意
我们的 Docker 镜像不提供 "latest" 标签。
我们的 Docker 镜像标签具有以下构建格式:v[Phalcon Release]-php[PHP Version]
示例:如果您想在 PHP 8.2 上安装 Phalcon 版本 5.8.0,则标签将是:v5.8.0-php8.2
我们如何构建 Docker 镜像?¶
我们以基于 Debian Linux 的官方 PHP FPM Docker 镜像为基础。我们集成了基本的健康检查和运行基本 Phalcon 应用程序所需的所有配置。
请查看我们的Dockerfile以获取更多详细信息。
扩展¶
除了 PHP Docker 镜像中的扩展外,每个版本还安装了以下扩展列表:
- apcu
 - gd
 - gettext
 - igbinary
 - imagick
 - intl
 - mysqli
 - mysqlnd
 - opcache
 - pdo_mysql
 - pdo_pgsql
 - pgsql
 - phalcon
 - redis
 - xsl
 - yaml
 - zip
 
扩展 Docker 镜像¶
提供的 Docker 镜像通常足以运行一个基本的 Phalcon 应用程序。对于更高级的应用程序,您可能需要安装另一个扩展。
假设您要安装memcached扩展。Phalcon 提供了一种简单的方法来实现这一点:
若要获取使用此方法支持的扩展完整列表,请参阅文档.
对于未涵盖在此方法中的其他扩展,请参阅官方 PHP Docker 镜像文档.
注意事项¶
我们提供的是生产就绪镜像。这意味着我们不会安装您可能在本地开发环境中需要的任何其他内容。例如,我们没有安装curl或composer。这最小化了在 Docker 镜像内下载恶意内容的可能性。我们也未安装xdebug或类似工具。top或git.
致谢¶
我们感谢以下人员为我们提供用于构建生产就绪 Docker 镜像的工具:
- PHP
 - PHP 团队为我们提供了包括最新 PHP 版本的基础镜像。
 - mlocati
 - 提供了一个更好且支持大量扩展的 PHP 扩展安装程序。
 - renatomefi
 - 提供了 FPM 健康检查脚本。