【问题标题】:Gradle SpringBoot 2.4.2 using bootBuildImage with tagGradle SpringBoot 2.4.2 使用带有标签的 bootBuildImage
【发布时间】:2021-05-06 03:04:12
【问题描述】:

我正在尝试在项目中使用 gradle SpringBoot 插件版本 2.4.2 并使用 bootBuildImage 任务构建 docker 映像。 当我尝试使用包含斜杠的标签构建 docker 映像时,构建将失败,因为我猜标签中不允许使用斜杠。

她是我项目 gradle 文件中自定义 gradle bootBuildImage 的片段:

bootBuildImage {
imageName = "hello-world:${art_contextUrl}/docker-repo"
publish = false
docker {
    publishRegistry {
        username = "${art_user}"
        password = "${art_password}"
        url = "${art_contextUrl}/docker-repo"
    }
}

}

标签由存储库/存储库的上下文 url 组成。 但是任务会失败。如果我使用简单的标签,如 0.0.1,任务将完成并创建一个 docker 映像。

如何在不使用 docker tag 命令的情况下正确标记图像,我的意思是仅从 bootBuildImage 任务中标记

【问题讨论】:

    标签: spring-boot docker gradle


    【解决方案1】:

    来自documentation

    标签名称必须是有效的 ASCII,并且可以包含小写和大写字母、数字、下划线、句点和破折号。标签名称不能以句点或破折号开头,最多可包含 128 个字符。

    所以不,你不能在标签中使用斜杠。

    【讨论】:

    • 这是正确的。如果您尝试将该标签与docker tag 一起使用,您将收到类似is not a valid repository/tag: invalid reference format 的错误。 Spring Boot 尝试强制执行 Docker 镜像名称规则。
    猜你喜欢
    • 2021-03-15
    • 2023-03-30
    • 1970-01-01
    • 2023-03-26
    • 2021-05-27
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多