在本文中,我们将介绍如何使用 Docker Compose 快速搭建一个 PHP LAMP(Linux + Apache + MySQL + PHP)开发环境,让您能够高效地进行 Web 开发。
步骤 1:安装 Docker 和 Docker Compose 首先,您需要在您的机器上安装 Docker 和 Docker Compose。您可以从 Docker 官方网站(https://www.docker.com/get-started)下载并按照指引安装适用于您操作系统的版本。
步骤 2:创建项目目录结构
在您的工作目录下创建一个文件夹用于存放开发相关的文件,比如“lamp”
步骤3: 下载php-7.4.33.tar.gz源码
将php-7.4.33.tar.gz源码下载到您创建的目录下。下载源码目的是为了编译mysqli.so扩展,此操作将在制作构建镜像的时候执行。
wget https://www.php.net/distributions/php-7.4.33.tar.gz
步骤4: 编写Dockerfile配置文件
这里我们使用“php:7.4-apache”作为基础镜像,使用docker pull php:7.4-apache
提前拉去镜像。在项目目录中创建一个名为 "Dockerfile" 的文件,并使用文本编辑器打开它。然后,将以下内容粘贴到该文件中:
FROM php:7.4-apache
LABEL MAINTAINER="Bruce Lu <bruce.lu@luxiaoyou.com>"
ARG PHP_VER_NUM=7.4.33
ARG WEB_ROOT=/var/www/html
ADD ./php-${PHP_VER_NUM}.tar.gz ${WEB_ROOT}
WORKDIR ${WEB_ROOT}/php-${PHP_VER_NUM}/ext/mysqli
RUN /usr/local/bin/phpize \
&& ./configure \
&& make \
&& make install \
&& echo 'extension=mysqli' > /usr/local/etc/php/conf.d/docker-php-ext-mysqli.ini \
&& rm ${WEB_ROOT}/* -rvf
WORKDIR ${WEB_ROOT}
执行下面代码构建php:7.4-apache-mysqli
镜像
docker build --no-cache -t php:7.4-apache-mysqli .
步骤 5:编写 Docker Compose 配置文件 在项目目录中创建一个名为 "docker-compose.yml" 的文件,并使用文本编辑器打开它。然后,将以下内容粘贴到该文件中:
version: '3'
services:
web:
image: php:7.4-apache-mysqli
ports:
- "8000:80"
volumes:
- ./web_root:/var/www/html
depends_on:
- db
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: root2023
MYSQL_DATABASE: mydb
MYSQL_USER: bruce
MYSQL_PASSWORD: bruce2023
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
这个 Docker Compose 配置文件定义了两个服务:web(Apache + PHP)和 db(MySQL)。"volumes" 部分用于持久化 MySQL 数据。记得将数据库的相关账户信息改成您自己的。
步骤 6:创建网站文件夹 在项目目录中创建一个名为 "web_root" 的文件夹,用于存放您的 PHP 项目文件。比如“index.php”,代码如下:
<?php
echo 'welcome to <a href="https://luxiaoyou.com/">luxiaoyou.com</a>';
$host = 'db'; // MySQL服务器主机名
$username = 'root'; // MySQL用户名
$password = 'root2023'; // MySQL密码
$database = 'mydb'; // 要连接的数据库名称
// 创建数据库连接
$conn = new mysqli($host, $username, $password, $database);
// 检查连接是否成功
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo " MySQL 连接成功!!";
// 在这里可以执行你的数据库查询和操作
// 关闭数据库连接
$conn->close();
?>
步骤 7:构建和启动容器 在终端中切换到您的项目目录,并运行以下命令来构建并启动容器:
docker-compose up -d
步骤 8:访问您的 PHP 网站 打开您的 Web 浏览器,并访问 "localhost:8000"。您应该能够看到一个如下图页面,表示您的 PHP LAMP 开发环境已经成功搭建起来了。
步骤 9:停止并清理容器 当您完成开发工作后,您可以使用下面的命令停止并清理容器:
docker-compose down
这将停止并移除所有相关的容器和网络。
总结: 使用 Docker Compose 搭建自己的 PHP LAMP 开发环境可以帮助您快速、方便地进行 Web 开发工作。通过容器化技术,您可以避免与不同版本的软件和依赖项之间的冲突,同时还可以轻松地与团队共享和部署开发环境。希望本文能够帮助您顺利搭建和使用您的 PHP LAMP 开发环境!