Docker教程 · 2024年11月15日

如何在Docker中部署PHP与MySQL的全栈应用?

如何在Docker中部署PHP与MySQL的全栈应用

在现代软件开发中,Docker已成为一种流行的容器化技术,能够简化应用程序的部署和管理。本文将介绍如何在Docker中部署一个简单的PHP与MySQL全栈应用,帮助开发者快速上手并理解容器化的基本概念。

环境准备

在开始之前,确保你的开发环境中已安装以下软件:

  • Docker:可以从Docker官网下载并安装。
  • Docker Compose:用于定义和运行多容器Docker应用。

创建项目目录

首先,创建一个新的项目目录,并在其中创建必要的文件结构:

mkdir php-mysql-docker
cd php-mysql-docker
mkdir src
touch Dockerfile docker-compose.yml

编写Dockerfile

在项目根目录下的Dockerfile中,定义PHP环境:

FROM php:7.4-apache

# 安装必要的扩展
RUN docker-php-ext-install mysqli

# 将源代码复制到容器中
COPY src/ /var/www/html/

编写docker-compose.yml

接下来,在docker-compose.yml文件中定义服务,包括PHP和MySQL:

version: '3.8'

services:
  web:
    build: .
    ports:
      - "8080:80"
    volumes:
      - ./src:/var/www/html
    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代码

在src目录中创建一个简单的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 来查看应用程序是否正常运行。如果一切顺利,你应该看到“连接成功”的消息。

总结

通过以上步骤,我们成功地在Docker中部署了一个简单的PHP与MySQL全栈应用。Docker的容器化技术使得应用的部署变得更加高效和灵活。对于需要高性能和安全性的应用,选择合适的服务器至关重要。米云提供多种服务器解决方案,包括美国VPS美国云服务器等,能够满足不同用户的需求。无论是开发测试还是生产环境,米云都能为您提供稳定可靠的服务。