找不到dockerfile添加文件

找不到dockerfile添加文件,docker,dockerfile,Docker,Dockerfile,服务器版本:18.03.1-ce,RHEL 7.2。这是我的dockerfile: FROM openjdk:8-jdk-alpine ENV http_proxy http://192.168.156.25:3128 ENV https_proxy http://192.168.156.25:3128 RUN apk update && apk upgrade && apk add netcat-openbsd RUN mkdir -p /usr/local/

服务器版本:18.03.1-ce,RHEL 7.2。这是我的dockerfile:

FROM openjdk:8-jdk-alpine
ENV http_proxy http://192.168.156.25:3128
ENV https_proxy http://192.168.156.25:3128
RUN  apk update && apk upgrade && apk add netcat-openbsd
RUN mkdir -p /usr/local/licensingservice
ADD @project.build.finalName@.jar /usr/local/licensingservice/
ADD run.sh run.sh
RUN chmod +x run.sh
CMD ./run.sh
它构建时没有错误:

 ---> Using cache
 ---> 8fa60876c229
Step 5/9 : RUN mkdir -p /usr/local/licensingservice

 ---> Using cache
 ---> bca46b1256e1
Step 6/9 : ADD licensing-service-0.0.1-SNAPSHOT.jar /usr/local/licensingservice/

 ---> a66979ed3755
Step 7/9 : ADD run.sh ./run.sh

 ---> 95b492565374
Step 8/9 : RUN chmod +x run.sh

 ---> Running in eec3075c30f3
Removing intermediate container eec3075c30f3
 ---> 96a2d7b89b80
Step 9/9 : CMD ./run.sh

 ---> Running in c338e9d33371
Removing intermediate container c338e9d33371
 ---> 324d5a83cf84
ProgressMessage{id=null, status=null, stream=null, error=null, progress=null, progressDetail=null}
Successfully built 324d5a83cf84
Successfully tagged johncarnell/tmx-licensing-service:chapter4
但docker run-it 324d5a83cf84:

/bin/sh: ./run.sh: not found
我使用docker run--rm-it 324d5a83cf84 cat./run.sh进行调试,它可以很好地打印文件。 run.sh:


我怀疑您正在Windows上工作,并且正在使用默认的Windows新行:
CR LF
。在你的
run.sh中切换到
LF
,它将像一个符咒一样工作


但你问怎么做?在记事本++中打开
run.sh
,然后查看窗口的右下角。单击Windows(CR LF)并选择Unix(LF)。

run.sh的内容是什么?

只是一些回音,java命令我问,因为我复制粘贴了您的dockerfile,效果很好。我的
run.sh
只是
echo它可以工作。因此,我怀疑您的
run.sh
中有错误。试试:
docker run-it--rm 324d5a83cf84./run.sh
。它能用吗?@Derlin,不,即使用简单的echo替换run.sh也找不到它。非常感谢,我已经用github的克隆文件替换run.sh来确认这一点
#!/bin/sh
echo "hello1"