温馨提示×

如何在Debian LAMP上部署Docker容器

小樊
33
2025-12-20 17:47:24
栏目: 智能运维

在Debian LAMP(Linux, Apache, MySQL, PHP)环境中部署Docker容器,可以按照以下步骤进行:

1. 安装Docker

首先,确保你的Debian系统上已经安装了Docker。如果没有安装,可以使用以下命令进行安装:

sudo apt update
sudo apt install docker.io

2. 启动并启用Docker服务

安装完成后,启动Docker服务并设置开机自启:

sudo systemctl start docker
sudo systemctl enable docker

3. 创建Docker网络

为了方便容器之间的通信,可以创建一个自定义的Docker网络:

sudo docker network create my_network

4. 部署MySQL容器

使用Docker运行一个MySQL容器,并将其连接到之前创建的网络:

sudo docker run --name mysql_container -e MYSQL_ROOT_PASSWORD=my-secret-pw -d --network my_network mysql:latest

5. 部署PHP容器

同样地,运行一个PHP容器,并将其连接到同一个网络:

sudo docker run --name php_container -d --network my_network -v /var/www/html:/var/www/html php:latest

6. 部署Apache容器

最后,运行一个Apache容器,并将其连接到同一个网络:

sudo docker run --name apache_container -d --network my_network -p 80:80 -v /var/www/html:/var/www/html httpd:latest

7. 配置Apache

为了使Apache能够处理PHP文件,需要安装并配置PHP模块。可以通过以下步骤完成:

进入Apache容器

sudo docker exec -it apache_container bash

安装PHP模块

在容器内安装PHP模块:

apt-get update && apt-get install -y libapache2-mod-php php-mysql

重启Apache服务

systemctl restart apache2

退出容器

exit

8. 验证部署

现在,你可以通过浏览器访问你的Debian服务器的IP地址或域名,应该能够看到Apache的默认页面。如果你在/var/www/html目录下放置了一个PHP文件(例如info.php),你应该能够看到PHP信息页面。

<?php
phpinfo();
?>

9. 配置MySQL

确保MySQL容器已经启动并运行。你可以使用以下命令检查MySQL容器的状态:

sudo docker ps

如果MySQL容器没有运行,可以使用以下命令启动它:

sudo docker start mysql_container

10. 连接PHP到MySQL

在你的PHP代码中,确保正确配置了数据库连接信息。例如:

<?php
$servername = "mysql_container";
$username = "root";
$password = "my-secret-pw";
$dbname = "your_database";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>

通过以上步骤,你应该能够在Debian LAMP环境中成功部署Docker容器。

0