主要观点:随着 BuildKit 的引入,Docker 新增了许多功能,包括调试、环境变量、导出器、Imagetools、最新 Dockerfile 语法、Here-docs、COPY
和ADD
功能以及缩进等,这些功能可帮助更好地使用 Docker。
关键信息:
- 调试:通过
docker buildx debug
可在构建失败时进入容器进行调试,需启用BUILDX_EXPERIMENTAL
环境变量,还可使用--on=error
选项。 - 环境变量:可通过
BUILDKIT_PROGRESS
环境变量切换日志输出格式,如plain
或rawjson
,也可更改颜色。 - 导出器:
exporters
定义构建输出的保存方式,image
将输出保存为容器镜像,registry
自动推送到指定注册表,还可使用--cache-to
和--cache-from
选项。 - Imagetools:
imagetools
可在不拉取的情况下检查注册表中的镜像,获取其摘要等。 - 最新 Dockerfile 语法:通过
# syntax=docker/dockerfile:1.3
启用,可使用新的语法特性。 - Here-docs:允许在
RUN
和COPY
命令中传递多行脚本,可指定解释器,提高可读性。 COPY
和ADD
功能:COPY
新增--parents
和--exclude
选项,ADD
可直接添加 Git 仓库,包括私有仓库。- Bonus:Indentation:可在 Dockerfile 中缩进行,提高多阶段构建的可读性。
重要细节: - 调试示例中展示了构建失败时的输出和进入容器后的操作。
- 环境变量示例中说明了不同环境变量的设置和效果。
- 导出器示例中展示了各种输出和缓存选项的使用。
- Imagetools 示例中获取了远程镜像的摘要。
- 最新 Dockerfile 语法示例中展示了不同版本的使用。
- Here-docs 示例中展示了普通脚本和 Python 脚本的使用。
COPY
和ADD
功能示例中展示了各种选项的效果。- 缩进示例中展示了多阶段构建的可读性提高。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。