如何通过Docker部署PHP应用并连接MySQL数据库
在现代软件开发中,Docker已成为一种流行的容器化技术,它能够简化应用程序的部署和管理。本文将介绍如何通过Docker部署一个简单的PHP应用,并连接到MySQL数据库。
环境准备
在开始之前,确保你的系统上已安装Docker和Docker Compose。你可以通过以下命令检查Docker是否已安装:
docker --version
如果未安装,请访问Docker官网获取安装指南。
创建项目目录
首先,创建一个新的项目目录,并在其中创建必要的文件:
mkdir php-docker-app
cd php-docker-app
touch Dockerfile docker-compose.yml index.php
编写Dockerfile
在Dockerfile中,我们将定义PHP环境。以下是一个简单的Dockerfile示例:
FROM php:7.4-apache
# 将当前目录的内容复制到容器的/var/www/html目录
COPY . /var/www/html/
# 安装PDO MySQL扩展
RUN docker-php-ext-install pdo pdo_mysql
编写docker-compose.yml
接下来,我们需要创建一个docker-compose.yml文件,以便定义服务和网络。以下是一个示例配置:
version: '3.8'
services:
web:
build: .
ports:
- "8080:80"
depends_on:
- db
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: testdb
MYSQL_USER: user
MYSQL_PASSWORD: password
ports:
- "3306:3306"
编写PHP代码
在index.php文件中,我们将编写一些简单的代码来连接MySQL数据库并执行查询:
<?php
$servername = "db";
$username = "user";
$password = "password";
$dbname = "testdb";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功!";
?>
构建和运行容器
在项目目录中,使用以下命令构建并启动Docker容器:
docker-compose up -d
此命令将后台运行容器。你可以通过访问 http://localhost:8080 来查看你的PHP应用是否成功运行。
连接MySQL数据库
在PHP代码中,我们使用mysqli扩展连接到MySQL数据库。请确保在docker-compose.yml中定义的数据库信息与PHP代码中的一致。
总结
通过以上步骤,你可以轻松地使用Docker部署一个PHP应用并连接到MySQL数据库。Docker的容器化特性使得应用的部署变得更加简单和高效。如果你需要更强大的服务器支持,可以考虑使用米云提供的美国云服务器,以满足你的业务需求。
