Bazel:在container_image中包含runfiles

使用container_image规则创buildDocker镜像时,镜像中不存在必要的运行文件。 pkg_tar规则也是如此,看起来实际上是这个问题。

使用下面的BUILD文件,我期望sh_binary tool_b出现在tool_a的运行文件中

 container_image( name = "my image", base = "@bash//image", directory = "/usr/local/opt", files = [":tool_a"], ) sh_binary( name = "tool_a", visibility = ["//visibility:public"], srcs = ["tool_a.sh"], data = [":tool_b"], ) sh_binary( name = "tool_b", visibility = ["//visibility:public"], srcs = ["tool_b.sh"], ) 

然而,图像只包含tool_a.shtool_a包装。

我怎样才能包含运行文件呢?

不幸的是,你不能开箱即用。 这是包装规则中长期存在的缺陷 。