首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jib:使用jib创建docker映像时卷路径无效

jib:使用jib创建docker映像时卷路径无效
EN

Stack Overflow用户
提问于 2020-12-10 22:23:29
回答 1查看 94关注 0票数 0

我正在使用jib为tomcat构建我的spring boot war文件。

我使用的是本地的tomcat docker图像。

我使用gradle jibDockerBuild --stacktrace,得到以下错误:

代码语言:javascript
复制
caused by: com.google.cloud.tools.jib.image.json.BadContainerConfigurationFormatException: Invalid volume path: [
        at com.google.cloud.tools.jib.image.json.JsonToImageTranslator.volumeMapToSet(JsonToImageTranslator.java:268)
        at com.google.cloud.tools.jib.image.json.JsonToImageTranslator.configureBuilderWithContainerConfiguration(JsonToImageTranslator.java:201)
        at com.google.cloud.tools.jib.image.json.JsonToImageTranslator.toImage(JsonToImageTranslator.java:137)
        at com.google.cloud.tools.jib.builder.steps.LocalBaseImageSteps.lambda$returnImageAndRegistryClientStep$2(LocalBaseImageSteps.java:171)
        at com.google.cloud.tools.jib.builder.steps.StepsRunner.lambda$assignLocalImageResult$4(StepsRunner.java:289)
        at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)
        at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69)
        at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)

我可以使用docker run和docker-compose来运行镜像。

有什么想法吗?

谢谢,B

EN

回答 1

Stack Overflow用户

发布于 2020-12-11 00:01:04

本地Docker守护程序中的基础tomcat映像的卷配置值不正确。我们过去也见过exact same case

基于centos/systemd的较旧修订版获得了较旧的基本映像,其中使用[[ <volume-path> ]]模式定义卷。这似乎根本不起作用,这应该得到支持吗?

原因: com.google.cloud.tools.jib.image.json.BadContainerConfigurationFormatException:无效的卷路径:[

根据最新的centos/systemd重新建立映像的基础似乎可以在将相同卷定义为[ <volume-path> ]的情况下工作

在这种情况下,docker inspect显示Volumes被设置为

代码语言:javascript
复制
"Volumes": {
    "[": {},
    "]": {},
    "“/sys/fs/cgroupâ€": {}
}

这是一个来自字符串(卷路径) ->文字{}的映射,这意味着它定义了三个卷路径(映射条目):[]“/sys/fs/cgroupâ€。当然,][不是有效的绝对UNIX路径。

正确的设置如下所示

代码语言:javascript
复制
"Volumes": {
    "/my/volume/dir": {},
    "/another/volume": {}
},

其中每个条目都是从UNIX绝对路径到{}的映射。

修复tomcat镜像的Volumes配置将解决此问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65236367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档