Docker 安装 PHP

在本章节中,我们将详细介绍如何使用 Docker 来安装和配置 PHP。首先,你需要确保已经安装了 Docker 和 Docker Compose。如果尚未安装,请先按照官方文档进行安装。

获取 PHP 镜像

你可以从 Docker Hub 上获取 PHP 的官方镜像。PHP 镜像提供了多种版本,包括不同的操作系统环境(如 Alpine)以及不同版本的 PHP(例如 7.4, 8.0 等)。我们可以通过以下命令拉取一个基础的 PHP 7.4-FPM 镜像:

如果你想使用更轻量级的镜像,可以考虑使用 Alpine 版本:

创建 Dockerfile

为了自定义 PHP 环境,我们可以创建一个 Dockerfile 来构建自定义的 PHP 镜像。这里是一个简单的示例:

-- -------------------- ---- -------
- ---- --- --------
---- -----------

- ------
------- -------------

- ------- --- --
--- ---------------------- --------- ------

- --------------------------
- ------ ---- ------- ----- -- --------------------- -----

- ----- --- --
------ ----

- ------
--- -----------

构建自定义镜像

保存上述 Dockerfile 到你的项目目录中,然后运行以下命令来构建镜像:

这里 -t 参数用于指定镜像的标签名称,my-php-app 是我们给这个镜像起的名字。. 表示 Dockerfile 位于当前目录。

创建并运行容器

有了自定义的 PHP 镜像后,我们可以使用 docker run 命令来启动一个容器。以下是一个基本的例子:

  • --name 参数为容器指定一个名字。
  • -v 参数用于将宿主机上的文件夹挂载到容器内的指定路径上。这使得你可以在宿主机上编辑代码,并且改动会实时反映到容器中。
  • -p 参数用于将容器的 9000 端口映射到宿主机的某个端口上,以便外部访问。
  • 最后一个参数是我们的镜像名。

配置 Nginx 或 Apache

为了让 PHP 能够正常工作,通常还需要配置一个 Web 服务器,如 Nginx 或 Apache。下面给出一个简单的 Nginx 配置示例:

创建 Nginx 配置文件

创建一个名为 default.conf 的 Nginx 配置文件,内容如下:

-- -------------------- ---- -------
------ -
    ------ ---
    ----------- ----------

    ---- --------------
    ----- --------- -----------

    -------- - -
        --------- ---- ----- -----
    -

    ---------- --- ----------
    ---------- --- --- --- --- ----------

    -------- - ------ -
        ------------ ---------------
        ------------- ----------
        ------- ---------------
        ------------- --------------- -----------------------------------
    -
-

使用 Docker Compose 部署

为了简化部署过程,我们可以使用 Docker Compose。创建一个 docker-compose.yml 文件,内容如下:

-- -------------------- ---- -------
-------- ---
---------
  ----
    ------ ------------
    ------
      - -------
    --------
      - ---------------------------------------------
      - -------------------
    -----------
      - ---
  ----
    ------ ----------
    -------
      - ------

在这个配置中,我们定义了两个服务:web 和 php。Web 服务使用 Nginx,而 PHP 服务则使用之前构建的自定义 PHP 镜像。通过 volumes 参数,我们将宿主机上的 ./app 目录挂载到了容器的 /var/www/html 目录下,实现了代码同步。

最后,使用以下命令启动所有服务:

以上步骤就完成了使用 Docker 和 Docker Compose 安装和配置 PHP 的全过程。希望这些信息对你有所帮助!

上一篇: Docker 安装 Nginx
下一篇: Docker 安装 MySQL
纠错
反馈