Docker 安装 PHP


Docker是一个开源的平台,可以方便地创建、管理和运行容器,既可以在开发中使用,也可以在生产环境部署。本文将介绍如何基于Docker安装PHP。

安装Docker

首先,需要在操作系统中安装Docker,可以根据具体的操作系统选择不同的安装方式。对于Ubuntu系统,可以使用以下命令安装:

sudo apt-get update
sudo apt-get install docker.io

安装PHP镜像

Docker可以通过镜像来创建容器,因此需要先安装PHP的镜像。可以在Docker Hub上搜索PHP镜像,并找到自己需要的版本。

以PHP 7.4为例,可以使用以下命令从Docker Hub上拉取官方的PHP镜像:

docker pull php:7.4

安装扩展模块

PHP常常需要使用各种扩展模块,如MySQL、MongoDB、Redis等,可以通过安装相应的PHP扩展来支持这些功能。

以安装MySQL扩展为例,可以使用以下命令:

docker-php-ext-install mysqli pdo_mysql

安装Composer

Composer是PHP的依赖管理器,可以方便地管理PHP项目所需的依赖包。安装Composer可以使用以下命令:

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

编写Dockerfile

在安装完PHP镜像、扩展模块和Composer之后,就可以编写Dockerfile了。Dockerfile是一个文本文件,其中包含了Docker镜像的构建信息,可以用来定制镜像。

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

FROM php:7.4

RUN docker-php-ext-install mysqli pdo_mysql
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

WORKDIR /var/www/html

在该Dockerfile中,首先使用FROM命令指定了父镜像为官方的PHP 7.4镜像。紧接着使用RUN命令安装了MySQL扩展,以及安装Composer。最后使用WORKDIR命令指定了工作目录。

构建镜像

在编写了Dockerfile之后,就可以使用docker build命令构建镜像了。可以使用以下命令:

docker build -t my-php-image .

该命令会在当前目录下查找名为Dockerfile的文件,并构建出名为my-php-image的镜像。

运行容器

启动容器可以使用docker run命令。可以使用以下命令:

docker run -p 80:80 -v /path/to/project:/var/www/html my-php-image

该命令会启动一个名为my-php-image的容器,在80端口上监听HTTP请求,并将本地的/path/to/project目录映射到容器内的/var/www/html目录。这样,可以通过访问http://localhost:80/来访问该PHP应用了。

总结

本文介绍了如何基于Docker安装PHP,并通过安装PHP扩展、Composer、编写Dockerfile、构建镜像和启动容器等步骤来运行PHP应用。使用Docker可以方便地管理PHP应用的依赖包和运行环境,提高开发和部署效率。