【发布时间】:2021-11-12 02:42:48
【问题描述】:
我正在尝试将目录复制到我的 docker 容器中。我注意到的是,如果源目录包含 bazel 构建文件,那么该目录不会被复制。
源代码:
load("@io_bazel_rules_docker//container:container.bzl", "container_image", "container_layer")
load("@io_bazel_rules_docker//docker/util:run.bzl", "container_run_and_commit")
load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar")
container_run_and_commit(
name = "bitnami-grafana-base",
commands = [
"tdnf install yum -y",
],
image = "@photon_base_image//image"
)
pkg_tar(
name = "scripts-dir",
srcs = glob(["scripts/**"]),
strip_prefix = ".",
package_dir = "/"
)
container_image(
name = "bitnami-grafana",
base = ":bitnami-grafana-base_commit.tar",
visibility = ["//visibility:public"],
files = ["test.sh"],
workdir = "/",
tars = [":scripts-dir"],
cmd = ["/test.sh"]
)
pkg_tar 中的 src 在我 bash 进入容器时不会被复制,而如果我只是替换它,则会出现一些其他目录(与scripts 目录位于同一位置)。
另外,如果我删除所有 Bazel build files from the scripts` 目录,那么它会被复制。
那么,如果一个目录包含Bazel 文件,为什么不会被复制呢?
如何复制那些目录?
【问题讨论】:
标签: docker bazel bazel-rules