Docker Bazel:在容器映像中包含运行文件

Docker Bazel:在容器映像中包含运行文件,docker,containers,bazel,Docker,Containers,Bazel,使用container\u image规则创建Docker映像时,映像中不存在必要的运行文件。这同样适用于pkg_tar规则,这似乎就是问题所在 使用下面的BUILD文件,我希望sh_二进制文件tool_b出现在tool_a的运行文件中 但是,图像仅包含tool_a.sh和tool_a包装 我如何也包括运行文件?很遗憾,您不能开箱即用。这是包装规则中的一个例外。不幸的是,您不能开箱即用。这是包装规则中的一个问题。我以前见过这个问题。太糟糕了,改变被放弃了。有可能以某种方式解决这个问题吗?我以前见

使用
container\u image
规则创建Docker映像时,映像中不存在必要的运行文件。这同样适用于
pkg_tar
规则,这似乎就是问题所在

使用下面的
BUILD
文件,我希望
sh_二进制文件
tool_b出现在tool_a的运行文件中

但是,图像仅包含
tool_a.sh
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"],
)