container_image完整的docker映像tarball

时间:2019-10-16 13:28:21

标签: docker bazel

here所述,整个docker映像tarball被创建为按需的隐式输出。
但是,按需表示什么意思?我该如何通知生成该生成?
此处似乎缺少文档。

2 个答案:

答案 0 :(得分:0)

通常,Docker映像以复杂的格式存储在Docker守护程序的专用文件系统空间中。在通常的使用中,您将使用docker buildpullrunrmi与图像进行交互,但是这些都不以生成可执行文件的方式生成文件会。

还有一种替代方法,可以使用docker save将图像导出到tar文件,然后使用docker load来重新加载图像来管理图像。这很尴尬,并且有很多缺点,您几乎总是想设置一个注册表或使用托管的注册表(如Docker Hub),只要有此选项即可。

我对链接到的文档的了解是,默认情况下,链接到的Bazel任务将仅运行docker build;但是,如果下游的某个文件需要image.tar文件,它也会运行docker save。通常不需要它,Bazel不会运行它。

答案 1 :(得分:0)

您可以显式指定“ image.tar”目标名称以进行构建;例如,如果您的container_image目标在my_image中被命名为//foo,则将以淡褐色显示tar存档:

bazel run //foo:my_image.tar