Я пытаюсь создать свой собственный базовый образ для кода Python 3 на bazel.Допустим, у меня есть фиктивный файл 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 save python:3.6-alpine > /shared/nfs/mount/base.tar
, а затем каким-то образом container_pull
изображение из этого места.Однако, похоже, что container_pull
не позволяет мне импортировать что-либо из файла, только реестр (поскольку он не создает изображения).Теперь container_image
поддерживает аргумент tars
, но кажется, что его нельзя использовать в файле WORKSPACE
.У кого-нибудь есть идея, как заставить @py3_image_base//image
указать на изображение докера, созданное из тар-шара /shared/nfs/mount/base.tar
?