【问题标题】:Docker+Java -VSTS No such file or directoryDocker+Java -VSTS 没有这样的文件或目录
【发布时间】:2018-12-30 12:56:06
【问题描述】:

我正在尝试使用 VSTS for Java rest api 进行持续集成。

我添加了以下几行来构建 Docker 映像:

来自 openjdk:8 添加 $(build.artifactstagingdirectory)/docker-spring.jar docker-spring.jar 暴露 8085 入口点 ["java","-jar","docker-spring.jar"]

我收到以下错误: 添加失败:stat /var/lib/docker/tmp/docker-builder946930284/SpringRest/target/docker-spring.jar:没有这样的文件或目录

/usr/local/bin/docker 失败,返回码:1

我可以看到很多参考资料,但仍然无法准确地关联问题。

【问题讨论】:

    标签: java docker azure-devops dockerfile azure-pipelines


    【解决方案1】:

    当您没有提供正确的路径时会发生这种情况。确保具有路径的变量具有 .对于当前目录,或 / 以及资源的完整路径:

    $(build.artifactstagingdirectory) = ./correct/relative/path/docker-spring.jar
    

    $(build.artifactstagingdirectory) = /correct/full/path/path/docker-spring.jar<
    

    查看您的输出,我假设您正在使用不起作用的“path/to/docker-spring.jar”。

    编辑:在您的特定情况下,您希望更改 docker 文件中的以下行:

    你有什么:

    COPY /SpringRest/target/docker-spring.jar /usr/local/app/docker-spring.jar
    

    应该是什么:

    COPY ./target/docker-spring.jar /usr/local/app/docker-spring.jar
    

    注意那个小点。这样它应该可以工作。

    【讨论】:

    • 让我检查一下上面的路径问题。谢谢。是否必须创建 Docker.CI.Build.yaml 才能使用 VSTS 进行构建??
    • 我是 Devops 的新手。我没有那么多知识。
    • 添加上述复制命令后,它开始指向/var/lib/docker/tmp/docker-builder290476507/target/docker-spring.jar:没有这样的文件或目录。为什么 /var/lib/tmp/docker-builder 被附加到给定的 docker 路径
    • 谢谢尼科伊!!!!它现在正在工作。我可以使用 VSTS 构建映像并将其推送到 Azure 容器 resgitry !!!
    • @Girish 看来你已经解决了这个问题,你可以Accept it as an Answer,这可能对阅读此主题的其他社区成员有所帮助
    猜你喜欢
    • 2021-02-24
    • 1970-01-01
    • 2020-04-27
    • 2022-01-15
    • 2019-01-22
    • 2017-07-02
    • 2022-06-13
    • 2015-09-25
    • 2018-01-28
    相关资源
    最近更新 更多