使用VSTS CI将简单Java rest api推送到Docker的步骤

使用VSTS CI将简单Java rest api推送到Docker的步骤,docker,azure-devops,dockerfile,azure-pipelines,Docker,Azure Devops,Dockerfile,Azure Pipelines,我已经创建了简单的rest端点,它将返回Hello world以进行Get操作。我已经创建了docker文件来推送 FROM openjdk:8 RUN mkdir -p /usr/local/app WORKDIR /usr/local/app COPY /SpringRest/target/docker-spring.jar /usr/local/app/docker-spring.jar EXPOSE 8085 ENTRYPOINT ["java","-jar","do

我已经创建了简单的rest端点,它将返回Hello world以进行Get操作。我已经创建了docker文件来推送

FROM openjdk:8     

RUN mkdir -p /usr/local/app

WORKDIR /usr/local/app

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

EXPOSE 8085

ENTRYPOINT ["java","-jar","docker-spring.jar"]
当我尝试使用VSTS运行它时,出现以下错误:

Status: Downloaded newer image for openjdk:8
2018-07-23T10:51:00.4948836Z  ---> 8c80ddf988c8
2018-07-23T10:51:00.4966564Z Step 2/6 : RUN mkdir -p /usr/local/app

2018-07-23T10:51:14.7731002Z  ---> Running in 2242c1baadde
2018-07-23T10:51:16.5140472Z Removing intermediate container 2242c1baadde
2018-07-23T10:51:16.5163574Z  ---> b8dba30e6e9c
2018-07-23T10:51:16.5179644Z Step 3/6 : WORKDIR /usr/local/app


2018-07-23T10:51:17.8398811Z Removing intermediate container 47a1a4cf9a23
2018-07-23T10:51:17.8418756Z  ---> 9fc455c476e0


2018-07-23T10:51:17.8437188Z Step 4/6 : COPY /SpringRest/target/docker-spring.jar /usr/local/app/docker-spring.jar
2018-07-23T10:51:17.8457664Z ***COPY failed: stat /var/lib/docker/tmp/docker-builder484497191/SpringRest/target/docker-spring.jar: no such file or directory
2018-07-23T10:51:17.8581142Z ##[error]COPY failed: stat /var/lib/docker/tmp/docker-builder484497191/SpringRest/target/docker-spring.jar: no such file or directory***
2018-07-23T10:51:17.8659023Z ##[error]/usr/local/bin/docker failed with return code: 1
我是否遗漏了任何步骤?请帮帮我试试这个:

FROM openjdk:8     

RUN mkdir -p /usr/local/app

WORKDIR /usr/local/app

RUN cd /SpringRest/target

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

EXPOSE 8085

ENTRYPOINT ["java","-jar","docker-spring.jar"]   


副本的目的地应该是目录,我想。试着这样做:
COPY/SpringRest/target/docker-spring.jar/usr/local/app/
还要验证源文件确实存在于该位置(并且该用户可以读取)。你真的有顶级目录吗?不知怎的,我不这么认为。是的,我有顶级的SpringRest目录。DockerFile、Source和Target文件夹是否需要将DockerFile和Jar文件放在同一个文件夹中才能按预期工作?/usr/local/app中是否还有其他内容?我的意思是现在你可以把/SpringRest/target作为你的WORKDIR@Girish既然你的问题解决了,你就可以标出答案。
FROM openjdk:8     

WORKDIR /SpringRest/target

EXPOSE 8085

ENTRYPOINT ["java","-jar","docker-spring.jar"]