Docker Hyperf 部署指南

作为一名刚入行的开发者,你可能对 Docker 和 Hyperf 这两个技术名词感到陌生。Docker 是一种容器化技术,可以快速打包应用和其依赖环境到一个可移植的容器中。Hyperf 是一个高性能、协程驱动的 PHP 框架,非常适合构建高性能的 API 应用。

本文将为你详细介绍如何使用 Docker 部署 Hyperf 应用。我们将通过一个简单的流程图和表格,让你轻松掌握整个部署过程。

流程图

首先,让我们通过一个流程图来了解整个部署过程:

flowchart TD
    A[开始] --> B[安装 Docker]
    B --> C[安装 Composer]
    C --> D[创建 Hyperf 项目]
    D --> E[编写业务代码]
    E --> F[编写 Dockerfile]
    F --> G[构建 Docker 镜像]
    G --> H[运行 Docker 容器]
    H --> I[测试应用]
    I --> J[结束]

步骤说明

1. 安装 Docker

首先,你需要在你的开发环境中安装 Docker。你可以访问 Docker 官网(

2. 安装 Composer

Hyperf 是一个 PHP 框架,所以我们需要安装 Composer 来管理 PHP 依赖。在终端中输入以下命令安装 Composer:

curl -sS  | php
mv composer.phar /usr/local/bin/composer

3. 创建 Hyperf 项目

接下来,我们需要创建一个 Hyperf 项目。在终端中输入以下命令:

composer create-project hyperf/hyperf-skeleton

这将创建一个名为 hyperf-skeleton 的 Hyperf 项目。

4. 编写业务代码

现在,你可以在 hyperf-skeleton 项目中编写你的业务代码。例如,你可以在 app 目录下创建一个控制器:

<?php

namespace App\Service;

use Hyperf\Di\Annotation\Inject;
use Hyperf\HttpServer\Annotation\AutoController;

/**
 * @AutoController()
 */
class IndexService
{
    /**
     * @Inject()
     * @var \Hyperf\HttpServer\Contract\RequestInterface
     */
    private $request;

    public function index()
    {
        $data = [
            'message' => 'Hello Hyperf!',
            'server' => $this->request->server,
        ];
        return json_encode($data);
    }
}

5. 编写 Dockerfile

在你的项目根目录下创建一个名为 Dockerfile 的文件,并添加以下内容:

# 使用官方 PHP 镜像作为基础镜像
FROM php:7.4-alpine

# 安装 Composer
RUN curl -sS  | php -- --install-dir=/usr/local/bin --filename=composer

# 将项目代码复制到容器中
COPY . /var/www/html

# 设置工作目录
WORKDIR /var/www/html

# 安装项目依赖
RUN composer install --no-dev

# 暴露端口
EXPOSE 9501

# 启动 Hyperf 服务
CMD ["php", "bin/hyperf.php", "start"]

6. 构建 Docker 镜像

在终端中输入以下命令构建 Docker 镜像:

docker build -t hyperf-app .

7. 运行 Docker 容器

使用以下命令运行 Docker 容器:

docker run -d -p 9501:9501 --name hyperf-container hyperf-app

8. 测试应用

现在,你可以在浏览器中访问 http://localhost:9501 来测试你的 Hyperf 应用。

9. 结束

恭喜你,你已经成功使用 Docker 部署了 Hyperf 应用!希望这篇文章能帮助你更好地理解 Docker 和 Hyperf 的使用。如果你在部署过程中遇到任何问题,欢迎随时向我们寻求帮助。

关系图

最后,让我们通过一个关系图来展示 Docker、Hyperf 和 Composer 之间的关系:

erDiagram
    Docker ||--o| Hyperf : "部署"
    Hyperf ||--o| Composer : "依赖管理"

通过这篇文章,你应该对 Docker Hyperf 部署有了更清晰的认识。祝你在开发道路上越走越远!