将应用程序部署到Azure时出现FileNotFound异常

时间:2018-10-02 19:51:06

标签: azure docker

因此,我有一个spring boot应用程序,它部分接收一个文件并读取内容。它在本地完美运行,但是当我将其放在Docker映像上并部署到Azure时,出现文件未找到错误。这是我的dockerfile:

FROM [place]
VOLUME /tmp
ARG jarFileName
RUN mkdir /app 
COPY $jarFileName /app/app.jar
RUN sh -c 'touch /app/app.jar'
ENV JAVA_OPTS=""
COPY startup.sh /app/startup.sh
RUN ["chmod", "+x", "/app/startup.sh"]
CMD ["startup.sh"]

1 个答案:

答案 0 :(得分:1)

关于您发布的Dockerfile,我认为有几个地方需要注意。

首先,如果您未在命令COPY $jarFileName /app/app.jar中传递变量jarFileName,则行docker run将收到错误消息。

第二个问题是,如果有文件startup.sh,则应检查当前目录中的COPY startup.sh /app/startup.sh行。

最后是CMD ["startup.sh"]行,我认为您应该将其更改为CMD ["./startup.sh"]。通常,如果脚本具有权限“ x”,我们将使用命令sh script.sh./script.sh执行shell脚本。