在当今的Web开发领域,PHP和Docker都是非常流行的技术。PHP因其简单易用而被广泛使用,而Docker则因其轻量级和可移植性而受到开发者的青睐。将PHP与Docker结合使用,可以极大地提高开发效率和部署的灵活性。本教程将带你轻松学会在Docker环境中一键安装PHP7及其扩展。
准备工作
在开始之前,请确保你已经以下准备工作:
- 安装了Docker Engine。
- 了解基本的Docker命令。
- 准备好PHP代码。
一、拉取PHP7镜像
首先,从Docker Hub拉取PHP7的官方镜像。你可以使用以下命令:
docker pull php:7.4-fpm
这里我们使用的是PHP 7.4的FPM(FastCGI Process Manager)版本,这是因为FPM版本提供了更好的性能和扩展支持。
二、创建PHP7容器
接下来,创建一个新的PHP7容器。你可以使用以下命令:
docker run -d --name php-container -p 9000:9000 php:7.4-fpm
这条命令将启动一个名为php-container的容器,并映射容器的9000端口到宿主机的9000端口,以便外部访问。
三、安装扩展
现在,我们需要在容器中安装所需的PHP扩展。Docker提供了一个非常方便的机制来安装扩展,那就是extension目录。
在宿主机上创建一个名为
extension的目录,并将其放置在项目的根目录下。在
extension目录中创建一个名为docker-entrypoint.sh的文件,并添加以下内容:
#!/bin/bash
# 安装扩展
docker-php-ext-install pdo pdo_mysql
这条命令将安装pdo和pdo_mysql扩展,这两个扩展是PHP中常用的数据库访问扩展。
- 修改
docker-entrypoint.sh文件的权限,使其可执行:
chmod +x extension/docker-entrypoint.sh
- 修改Dockerfile,将
docker-entrypoint.sh添加到镜像中:
FROM php:7.4-fpm
COPY extension/docker-entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
CMD ["docker-entrypoint.sh"]
- 构建新的PHP7镜像:
docker build -t my-php .
这里我们创建了一个名为my-php的新镜像。
四、启动容器
现在,我们可以使用新构建的镜像启动容器:
docker run -d --name php-container -p 9000:9000 my-php
这条命令将启动一个名为php-container的容器,并映射容器的9000端口到宿主机的9000端口。
五、访问PHP代码
在浏览器中输入宿主机的IP地址和端口(例如:http://localhost:9000),你应该可以看到一个简单的PHP信息页面。
总结
通过本教程,你学会了如何在Docker环境中一键安装PHP7及其扩展。这种方法不仅方便快捷,而且可以提高开发效率和部署的灵活性。希望这个教程对你有所帮助!
