我正在尝试使用bazel为建筑农场构建一个定制的码头映像。我对巴泽尔还是很陌生的,所以从码头到巴泽尔的很多事情让我很困惑。
由于某些错误,我想要运行JDK 8,而不是JDK 11。
base = "@java_image_base//image"在某种程度上类似于:
FROM openjdk:11在码头文件里。但是,我想使用JDK 8的基本映像。
我试图构建的BUILD文件中的bazel目标是:
container_image(
    name = "server.container",
    base = "@java_image_base//image",
    cmd = [
        "buildfarm-server_deploy.jar",
        "/config/server.config",
        "--port",
        "8980",
    ],
    # leverage the implicit target of the buildfarm-server to get a fat jar.
    # this is simply a workaround for the fact that we have so many dependencies,
    # so we'd want some wrappy script. This seemed more straightforward.
    # https://docs.bazel.build/versions/master/be/java.html#java_binary_implicit_outputs
    files = [
        ":buildfarm-server_deploy.jar",
    ],
    tags = ["container"],
    visibility = ["//visibility:public"],
)后续问题:一般情况下,如何查找bazel container_image目标的其他基本图像?除了bazel基础图像之外,还有类似于Dockerhub的东西吗?
发布于 2021-09-04 12:19:55
base in container_image必须是表示图像的Bazel目标,即:
container_import从本地tarball导入的图像container_pull从远程码头存储库中提取的图像如果您正在寻找FROM的简单替代,那么您可能希望使用container_pull在您的WORKSPACE中提取正确的图像,并使用它作为基础。
https://stackoverflow.com/questions/69049058
复制相似问题