在bazel中为py3_image创建基础图像

时间:2019-04-16 10:51:53

标签: docker bazel

我正在尝试在bazel中为Python 3代码构建自己的自定义基本图像。假设我有一个虚拟的BUILD文件:

load("@io_bazel_rules_docker//python3:image.bzl", "py3_image")

py3_image(
    name = "helloimage",
    srcs = ["hello.py"],
    main = "hello.py",
)

py3_image规则将加载尝试访问名称为@py3_image_base//image的基本容器的尝试。我可以将以下内容放入WORKSPACE文件中:

container_pull(
    name = "py3_image_base",
    registry ="index.docker.io",
    repository = "python/3.6-alpine",
    tag = "3.6.8-alpine3.9",
)

但是,要使其正常工作,开发人员需要登录到标准Docker注册表中,我想避免这种情况,以免意外将任何东西推到那里。对于我来说,共享基本图像的最简单方法是做类似的事情

docker save python:3.6-alpine > /shared/nfs/mount/base.tar

,然后以某种方式container_pull来自此位置的图像。但是,看来container_pull不允许我从文件中导入任何内容,而只能导入注册表(因为它不生成映像)。现在container_image支持tars参数,但是似乎不能在WORKSPACE文件中使用它。有人知道我怎么能@py3_image_base//image指向用tar球/shared/nfs/mount/base.tar创建的码头工人图像吗?

0 个答案:

没有答案