您的位置:

Docker安装PHP运行环境

随着互联网的发展,网站和Web应用程序变得越来越复杂。要在开发环境中构建和测试此类应用程序需要多种工具和服务,这可能会导致环境配置的复杂性和不一致性。Docker的出现解决了这个问题,并使得开发者可以使用容器映像来构建和部署应用程序。

一、安装Docker

Docker提供安装工具适用于多种操作系统,包括Mac OS X、Windows、Ubuntu等。请前往Docker官网按照指示安装合适的版本。

二、使用Docker安装PHP

为了在Docker中安装PHP运行环境,我们需要使用Docker容器映像。Docker这个容器映像是由官方提供的,非常方便,您可以很容易的下载它。以下是一些常用的Docker容器映像:

docker pull php:latest           // 最新 PHP 版本的镜像
docker pull php:7.3              // 特定版本的 PHP 镜像
docker pull php:7.3-apache       // 包含 Apache2 的 PHP 镜像
docker pull php:7.3-fpm          // 包含 PHP-FPM 的 PHP 镜像

上述命令会下载适合您的PHP版本的镜像。在下载完成后,您可以使用以下命令来验证是否正确下载:

docker images

这将会列出您下载到的所有容器映像。

三、使用Docker Compose管理容器

要管理容器,我们通常使用 Docker Compose。Docker Compose 是一个 Docker 官方提供的用于定义和运行多容器 Docker 应用程序的工具。

在本例中,我们将使用 Docker Compose 来同时启动 Apache 2 和 PHP-FPM。

首先,我们需要创建一个docker-compose.yml文件:

version: '3'

services:
  web:
    image: php:7.3-apache
    volumes:
      - ./src:/var/www/html/
    ports:
      - 80:80
  php:
    image: php:7.3-fpm
    volumes:
      - ./src:/var/www/html/

在上面的文件中,我们定义了两个服务:web和php。服务web使用了php:7.3-apache镜像,它将 Apache 和 PHP 集成在一起。服务php使用了 php:7.3-fpm 镜像,它使用PHP-FPM服务来处理PHP代码。

与此同时,我们也创建了一个名为src的卷,并将其挂载到两个服务中。这个卷包含了我们将要运行的代码。

运行以下命令启动容器:

docker-compose up -d 

-d 参数表示在后台运行容器。要验证是否正在运行,可以通过运行以下命令:

docker-compose ps

如果一切正常,在Web浏览器中打开 http://localhost 应该可以看到您的 PHP 应用程序运行。

四、使用Dockerfile构建PHP映像

除了使用官方提供的 PHP Docker 映像之外,您还可以使用 Dockerfile 来自定义自己的映像。

Dockerfile 是一个包含构建指令的文本文件。可以通过 Dockerfile 指令来告诉 Docker 如何构建一个映像。以下是一个基本的Dockerfile文件的示例:

FROM php:7.3-apache
COPY src/ /var/www/html/

FROM 告诉 Docker 从base image 开始构建新的 image。COPY 将本地的 src 目录复制到容器中的 /var/www/html/ 目录。

然后运行以下命令从Dockerfile构建Docker映像:

docker build -t my-php-app .

你可以通过运行以下命令来验证新映像:

docker images

你应该能够看到刚才构建的映像 my-php-app。

五、结论

通过使用 Docker,您可以轻松构建和部署 PHP 应用程序。您可以从官方提供的PHP映像开始,也可以自定义自己的映像,并使用Docker Compose来管理容器。

希望本文可以帮助您更快地入门并更深入地了解 Docker 和 PHP。