全部学科
Python全栈
python
NodeJS全栈
nodejs
📝 1 篇文章 13 道配套习题

Docker Compose专题

专题说明

掌握docker-compose.yml语法、多容器编排启动、服务依赖管理、环境配置与网络卷管理。

学习目标

  1. 掌握docker-compose.yml 语法
  2. 掌握多容器编排启动
  3. 掌握服务依赖与健康检查
  4. 掌握环境变量与配置文件
  5. 掌握Compose 网络与卷
  6. 掌握扩缩容与负载均衡
  7. 能够独立完成Docker Compose相关实际场景的操作与排错

学习内容

  • docker-compose.yml 语法
  • 多容器编排启动
  • 服务依赖与健康检查
  • 环境变量与配置文件
  • Compose 网络与卷
  • 扩缩容与负载均衡

学习建议

  1. 按照知识点排列顺序循序渐进,先理解概念再动手实践
  2. 每学完一个知识点后完成对应的配套练习题巩固
  3. 遇到问题时优先查阅官方文档,结合容器日志排查

📝 配套习题(13 题)

💡 参考答案在文末
判断题
1

docker-compose up 会自动等待依赖服务完全启动后再启动依赖它的服务。

A

B

2

使用 docker-compose up --scale web=3 扩展 3 个 web 服务实例时,如果 web 服务定义了端口映射 ports: ["80:80"],所有实例都能成功绑定到宿主机的 80 端口。

A

B

3

在 docker-compose.yml 所在目录下存在 .env 文件时,Compose 会自动加载其中的变量并可用于 compose 文件中的变量替换(如 ${VAR})。

A

B

单选题
4

使用 docker-compose 启动服务时,如果未自定义网络,Compose 会如何处理网络?

A

所有服务使用宿主机的 host 网络

B

自动创建一个默认桥接网络,所有服务都连接到该网络

C

每个服务使用独立的网络,互不相通

D

不使用网络,服务间无法通信

5

执行 docker-compose up 命令时,默认会如何处理?

A

只启动第一个定义的服务

B

启动所有定义的服务并在前台运行

C

启动所有服务并在后台运行

D

提示用户选择要启动的服务

6

在 docker-compose.yml 中,要让 web 服务等待 db 服务健康后再启动,正确的配置是?

A

depends_on: [db]

B

depends_on: db: condition: service_healthy

C

depends_on: {db: healthy}

D

wait_for: db

7

在 docker-compose.yml 中,env_file 配置项的作用是什么?

A

指定容器启动时执行的命令文件

B

从指定文件加载环境变量注入到容器中

C

指定 Dockerfile 的路径

D

定义容器间的网络配置文件

8

以下哪个不是 docker-compose.yml 文件的顶级配置项?

A

services

B

networks

C

volumes

D

containers

9

执行 docker-compose up --scale web=3 命令的作用是什么?

A

将 web 服务的资源限制扩展为原来的 3 倍

B

启动 3 个 web 服务容器实例

C

将 web 服务的端口扩展为 3 个

D

为 web 服务创建 3 个不同的网络

多选题
10

在 docker-compose.yml 中配置 healthcheck 时,以下哪些参数是有效的?

A

test

B

interval

C

timeout

D

retries

E

start_period

11

在 docker-compose.yml 中,多个服务可以同时挂载同一个命名卷。关于这种行为,以下说法正确的有哪些?

A

多个服务可以同时读写同一个命名卷中的数据

B

如果未指定驱动,Compose 会为每个服务创建独立的卷

C

需要在顶级 volumes 中声明才能在服务中引用

D

多个服务挂载同一卷时可能存在并发写入冲突

E

命名卷在 compose down 时默认会被删除

12

在 docker-compose.yml 的 services 部分,以下哪些是有效的服务配置项?

A

image

B

build

C

ports

D

depends_on

E

restart

填空题
13

在 docker-compose.yml 中,要让服务使用顶级配置中定义的命名卷,应在服务的 volumes 下使用语法 ____________:/var/lib/data

参考答案
1.错误 2.错误 3.正确 4.B 5.B 6.B 7.B 8.D 9.B 10.A;B;C;D;E 11.A;C;D 12.A;B;C;D;E 13.mydata
想在手机上练习这套专题?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一个专题 CICD集成专题
下一个专题 → Docker 基础概念专题
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码