Dockerfile 进阶专题测试
考察知识点
- Dockerfile 进阶 (14题): 多阶段构建、镜像瘦身、缓存利用、安全构建
💡 参考答案在文末
判断题
1
在 Dockerfile 中,ARG 变量在某个 FROM 指令之前定义后,在 FROM 之后的阶段中仍然自动可用。
2
.dockerignore 文件中可以使用 ! 前缀来取消排除某个已被匹配的文件或目录。
3
使用多阶段构建不仅可以减小镜像体积,还能提高安全性,因为最终镜像不包含编译工具和源代码。
单选题
4
在 Dockerfile 中,如果只需要将文件从构建上下文复制到镜像中,推荐优先使用哪个指令?
5
.dockerignore 文件的作用与以下哪个文件最相似?
6
Docker 多阶段构建(Multi-stage Build)的主要目的是什么?
7
Dockerfile 中同时定义了 ENTRYPOINT ["myapp"] 和 CMD ["--help"],运行容器时默认执行的命令是什么?
8
Dockerfile 中 ARG 和 ENV 指令的主要区别是什么?
多选题
9
以下哪些文件或目录通常应该添加到 .dockerignore 中?
10
以下关于 Docker 多阶段构建的说法正确的有哪些?
11
关于 ENTRYPOINT 指令的 exec 格式(ENTRYPOINT ["cmd", "arg"])和 shell 格式(ENTRYPOINT cmd arg),以下说法正确的有哪些?
12
相比 COPY,ADD 指令额外支持哪些功能?
填空题
13
要在构建镜像时传入 ARG 变量 VERSION=1.0,应使用命令 docker build ____________ -t myapp .。
14
在多阶段构建中,从名为 builder 的阶段复制文件应使用指令 COPY ____________ /app/dist /app/。
参考答案
1.错误
2.正确
3.正确
4.B
5.B
6.B
7.B
8.B
9.A;B;D
10.A;B;C;E
11.A;B;D;E
12.A;B
13.--build-arg VERSION=1.0
14.--from=builder
想在手机上练习这套试卷?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码