我正在尝试在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
创建的码头工人图像吗?