将 py_image 规则的输出加载到 Docker

Load an output of py_image rule to Docker

我在我的 BUILD 文件中定义了一个基本的 py_image 规则:

load("@io_bazel_rules_docker//python3:image.bzl", "py3_image")
py3_image(
    name = "app_image",
    base = ":base_image",
    srcs = ["serve.py"],
    deps = [
       "@mi_proto//:proto",
    ]
)

如何使此规则的结果在 Docker 中可用?我想在 docker imagesdocker run 生成一个容器。

要将其加载到本地 Docker 注册表中,您可以从 target:

请求一个 tar 文件
bazel build //:app_image.tar

然后可以通过 docker load -i path/to/app_image.tar

将此 tar 加载到 Docker

或者,使用 bazel run //:app_image 也将 运行 容器。

rules_docker docs

中有更多用于加载和 运行ning 容器镜像的选项