5.1 Compose基础

系列 - Docker容器编排
目录
摘要
Compose 是 Docker 的一个高级工具,用于定义和运行多容器 Docker 应用程序。通过 Compose,你可以使用 YAML 文件来配置应用程序的环境,然后用一条命令来启动或停止所有服务。
准备工作
- 删除所有容器
- 删除所有不用的网络
- 删除所有不用的存储卷
问题
是否可以仅使用一条命令就完成上述3项操作?
任务一:掌握 YAML 语法
请将下面的信息用 YAML 格式表示:
- 课程名:Docker
- 总学时:64
- 课时:周三、周五
- 适用专业:云计算技术应用
- 教师信息:
- 姓名:张三
- 职称:讲师
作业
用YAML文件格式表示你的简历:
- 基本信息:姓名、年龄、性别、联系方式(邮箱、电话)。
- 教育背景:学校名称、专业、毕业年份(可以列出多所学校)。
- 技能:列出至少 3 项技能(如编程语言、工具使用等)。
- 个人简介:一段简短的自我描述(使用多行文本格式)。
单词参考
personal_info: 个人信息 name: 姓名 age: 年龄 gender: 性别 contact: 联系方式 email: 邮箱 phone: 电话
education: 教育 school: 学校 major: 专业 graduation_year: 毕业年份 skills: 技能 bio: 个人简介
任务二:使用 Compose 运行 WordPress
在之前的实验中,我们运行 WordPress 使用了如下命令:
docker network create mysite-network
docker volume create wordpress-content
docker run \
-d --name wordpress \
--network mysite-network \
-v wordpress-content:/var/www/html \
-p 80:80 \
wordpress
请将上面的命令转换为 Docker Compose 配置文件,部分内容如下:
version: '3.3'
services:
wordpress:
image:
container_name:
networks:
volumes:
networks:
volumes:
技巧
Compose 文件可以帮助我们一次性定义和管理多个容器、网络和存储卷。
任务三:使用 Compose 运行 MySQL
请将下面的命令转换为 Compose 配置文件:
docker run -d \
--name wordpress-mysql \
--network mysite-network \
-e MYSQL_ROOT_PASSWORD=sqlpassword \
-e MYSQL_DATABASE=wordpress \
-e MYSQL_USER=wordpress \
-e MYSQL_PASSWORD=wordpress \
mysql:8.3.0
任务四:编排
将任务二和任务三的 Compose 文件合并到一个文件中,实现 WordPress 和 MySQL 的协同运行。
示例
可以参考官方文档或前面的 Compose 文件结构进行合并。
环境清理
执行以下命令可以清除实验中创建的资源:
docker compose down --volumes
警告
默认情况下,compose 不会删除创建的 Volume。需要增加 –volumes 参数才能强制删除。