一.基于 yml 配置文件实现简单拓扑
下面将按照这个结构实现对应的拓扑结构,基于存储卷、网络等功能:

去对应目录创建 yml 文件:

配置信息内容说明:
1. Web 服务 (Nginx)
- 作用:作为网站的服务器。
- 镜像:
nginx:latest(最新版的 Nginx)。 - 端口映射:
8089:80— 可以在电脑的浏览器上访问http://localhost:8089来打开网站。 - 文件挂载:
./web:/usr/share/nginx/html— 把本地的./web文件夹作为网站根目录,在里面放网页文件(如index.html)就能立即生效。 - 依赖:设置了必须在
redis和mysql都启动成功后,才启动自己。
2. MySQL 服务
- 作用:运行 MySQL 数据库。
- 镜像:
mysql:5.7(5.7 版本的 MySQL)。 - 密码:root 用户的密码被设置为
root@123。 - 数据持久化:
./mysql:/var/lib/mysql— 将数据库文件保存在本地的./mysql目录下,即使容器删除,数据也不会丢失。 - 健康检查:容器会定期执行
SELECT 1;命令来确认数据库是否正常响应。
3. Redis 服务
- 作用:运行 Redis 缓存服务。
- 镜像:
redis:7。 - 健康检查:通过
ping命令来确认服务是否正常。
4. 网络 (net1)
三个服务都加入了同一个叫 net1 的虚拟网络。这样,它们之间就可以直接用服务名(web, mysql, redis)互相访问,非常方便。
下面检查下是否有问题:













































