首页 > 解决方案 > 如何为 bazel container_image 规则指定等效的 Dockerfile RUN?

问题描述

我正在将 Dockerfile 转换为 bazelcontainer_image规则。我将如何指定RUN规范container_image

标签: dockerfilebazel

解决方案


container_run_and_commit将运行命令并使用结果创建一个新层,类似于RUN. 像这样的东西:

load("@io_bazel_rules_docker//docker/util:run.bzl", "container_run_and_commit")

container_run_and_commit(
  name = "x",
  commands = ["touch /xyz"],
  image = ":my_base.tar",
)

image参数是一个docker save-style tarball 。您可以通过外部存储库将其引入,或使用规则的隐式.tar输出container_image。如果您container_image(name = "my_base")在同一个包中有一个,我上面的示例将起作用。


推荐阅读