📜  docker php 7.2 添加 ext-mongodb - PHP (1)

📅  最后修改于: 2023-12-03 14:40:49.474000             🧑  作者: Mango

在 Docker 中添加 ext-mongodb 扩展

在使用 Docker 容器运行 PHP 应用程序时,我们可能需要使用一些不同的扩展来扩展 PHP。在本文中,我们将介绍如何在 Docker 中添加 ext-mongodb 扩展。

准备工作

在开始之前,请确保您已经安装了 Docker 和 Docker Compose,并且已经有一个基本的 Dockerfile。

创建 Dockerfile

为了在容器中添加 ext-mongodb 扩展,我们需要编辑 Dockerfile。在 Dockerfile 中,我们需要添加一些命令来安装和配置 ext-mongodb 扩展。

以下是一个简单的 Dockerfile 示例:

FROM php:7.2-fpm

RUN apt-get update \
    && apt-get install -y \
        libssl-dev \
        pkg-config \
    && pecl install mongodb \
    && docker-php-ext-enable mongodb
  • FROM php:7.2-fpm:我们使用 php:7.2-fpm 基础映像作为基础映像。这个基础映像包含了 PHP 和 FPM。
  • RUN apt-get update:更新系统安装源。
  • RUN apt-get install -y libssl-dev pkg-config:安装 libssl 和 pkg-config。
  • RUN pecl install mongodb:安装 ext-mongodb 扩展。
  • RUN docker-php-ext-enable mongodb:启用 ext-mongodb 扩展。
构建和运行容器

完成 Dockerfile 的编写后,我们需要使用 docker build 命令来构建 Docker 镜像。

docker build -t my-php-app .

上面的命令将会在当前目录下构建一个名为 my-php-app 的 Docker 镜像。

一旦构建完成,我们可以通过以下命令来运行容器:

docker run -it --rm \
  -v $(pwd):/usr/src/myapp \
  -w /usr/src/myapp \
  my-php-app \
  php index.php
  • -it:表示以交互模式运行容器。
  • --rm:表示容器退出后自动删除。
  • -v $(pwd):/usr/src/myapp:将当前目录挂载到容器中的 /usr/src/myapp 目录中。
  • -w /usr/src/myapp:将工作目录设置为容器中的 /usr/src/myapp 目录。
  • my-php-app:表示要运行的 Docker 镜像。
  • php index.php:在容器中运行的命令。
结论

在本文中,我们介绍了如何在 Docker 中添加 ext-mongodb 扩展。我们编辑了 Dockerfile 并且通过 docker build 命令来构建 Docker 镜像,最后使用 docker run 命令来启动容器。