container_run_and_commit_layer 失败:docker 未找到

container_run_and_commit_layer fails with: docker not found

我在 运行 container_run_and_commit_layer 时遇到问题,我收到的错误消息是

docker not found; do you need to manually configure the docker toolchain?

据我所知,这与 DOCKER 未设置变量有关:

# Resolve the docker tool path
DOCKER=""
DOCKER_FLAGS=""

if [[ -z "$DOCKER" ]]; then
    echo >&2 "error: docker not found; do you need to manually configure the docker toolchain?"
    exit 1
fi

我正在我的工作区文件中调用 container_repositories(),我是否遗漏了什么?

该规则需要安装 Docker。默认情况下,它希望通过 $PATH 找到 docker。如果没有,您会收到该错误。

rules_docker 文档的 Setup section 列出了所有可选工具,并展示了如何为它们设置自定义路径。某些 rules_docker 规则不需要任何这些规则,因此它们可以正常工作。当 运行 未安装给定工具时,确实需要这些工具的规则会给出这样的错误。

如果您现在安装 docker,您可能必须在安装后 bazel clean --expunge 以确保再次评估存储库规则。