将py_image规则的输出加载到Docker

时间:2020-06-02 18:04:57

标签: bazel bazel-rules

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

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 images中使用它,或者在docker run处生成一个容器。

1 个答案:

答案 0 :(得分:1)

要将其加载到本地Docker注册表中,可以从目标请求tar文件:

bazel build //:app_image.tar

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

将这个tar加载到Docker中。

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

rules_docker docs

中有更多选项可用于加载和运行容器映像