容器化应用部署与Web服务器搭建指南
立即解锁
发布时间: 2025-08-26 00:19:05 阅读量: 19 订阅数: 20 AIGC 


构建现代Linux实验室:DevOps实践指南
# 容器化应用部署与Web服务器搭建指南
## 1. 启动容器化堆栈
当所有准备工作完成后,就可以启动容器化堆栈和小型PHP应用程序了。首次启动时,Docker需要下载本地机器上尚未有的镜像,因此初始启动会花费一些时间。一旦这些镜像下载到本地,后续的启动将显著加快。
在 `docker.devlops.lab` 主机上,执行以下命令:
```bash
$ cd ~/lamp
$ docker-compose up -d
```
上述命令会下载容器所需的镜像,对其进行配置,复制 `index.php` 文件,并启动容器。若在浏览器中访问Docker虚拟机,会看到一个包含一些PHP错误的基本页面,这是因为MariaDB容器中尚未创建数据库、表或内容。可以通过Adminer界面或在Docker主机上执行以下命令来创建:
```bash
$ docker exec -i db mysql -uroot -ppassword mydatabase < mydatabase.sql
```
`mydatabase.sql` 文件包含创建和填充数据库所需的所有SQL语句,内容如下:
```sql
SET NAMES utf8;
SET time_zone = '+00:00';
SET foreign_key_checks = 0;
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
SET NAMES utf8mb4;
DROP DATABASE IF EXISTS `mydatabase`;
CREATE DATABASE `mydatabase` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;
USE `mydatabase`;
DROP TABLE IF EXISTS `my_users`;
CREATE TABLE `my_users` (
`user_id` int(3) NOT NULL AUTO_INCREMENT,
`user_first` varchar(30) NOT NULL,
`user_last` varchar(30) NOT NULL,
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
INSERT INTO `my_users` (`user_id`, `user_first`, `user_last`)
VALUES
(1, 'Betsy', 'Ross'),
(2, 'George', 'Washington'),
(3, 'Ben', 'Franklin'),
(4, 'Thomas', 'Jefferson');
CREATE USER 'webuser'@'%' IDENTIFIED BY 'mypassword';
GRANT CREATE, SELECT, INSERT, UPDATE, DELETE ON mydatabase.* TO 'webuser'@'%';
FLUSH PRIVILEGES;
```
## 2. 尝试使用Adminer
由于Adminer设置为监听端口8080,在浏览器中访问 `http://docker.devops.lab:8080`,会看到登录页面。输入服务器的容器名称(`db`)、用户名 `root` 和密码 `password`(这些值与 `docker-compose.yml` 文件中设置的值相同)。登录后,可以创建名为 `mydatabase` 的新数据库、名为 `my_users` 的表,并插入数据行。可以使用前面提供的SQL命令或Adminer的图形界面来完成这些操作。
创建数据库和表,并授予 `webuser` 访问权限后,在浏览器中访问 `http://docker.devops.lab`,结果应与虚拟机示例中的内容相同。
完成操作后,可以在 `lamp/` 目录中使用以下命令销毁堆栈:
```bash
$ docker-compose down
```
该命令将停止运行的容器,并断开网络和卷的连接。若要完全清除系统,可以运行 `docker system prune [-a]`,添加 `-a` 选项将删除所有内容,请谨慎使用。
## 3. 部署WordPress服务器
WordPress是一个PHP应用程序,使用MariaDB(MySQL)作为后端来存储网站的所有内容。安装WordPress的步骤如下:
### 3.1 下载WordPress
在Proxmox上启动现有的LAMP虚拟机(或LXC),通过SSH连接到该虚拟机,使用 `wget` 下载最新版本的WordPress:
```bash
$ ssh [email protected]
$ sudo wget https://wordpress.org/latest.tar.gz -O /var/www/html/latest.tar.gz -nc
```
### 3.2 解压文件
使用 `tar` 命令一步解压文件:
```bash
$ sudo tar -xzvf /var/www/html/latest.tar.gz
```
### 3.3 修改文件权限
将 `/var/www/html/wordpress` 目录的所有权更改为 `www-data` 用户:
```bash
$ sudo chown www-data:www-data /var/www/html/wordpress -R
```
### 3.4 图形化安装
在浏览器中访问 `https://web.devops.lab/wordpress` 进行图形化设置。完成图形化安装需要以下信息:
- WordPress数据库的名称
- 数据库的用户名和密码
- MariaDB主机名
可以从命令行登录到MariaDB或使
0
0
复制全文
相关推荐









