dockerfile Добавить файл не найден - PullRequest
0 голосов
/ 09 июня 2018

Версия сервера: 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 запускает -it 324d5a83cf84:

/bin/sh: ./run.sh: not found

Я отлаживаю с помощью docker run --rm -it 324d5a83cf84 cat ./run.sh, он хорошо печатает файл.run.sh:

#!/bin/sh
echo "hello1"

1 Ответ

0 голосов
/ 09 июня 2018

Я подозреваю, что вы работаете в Windows и используете новую строку Windows по умолчанию: CR LF.Измените значение LF в вашем run.sh, и оно будет работать как шарм.

Но как это сделать, спросите вы?Откройте run.sh в Notepad ++ и посмотрите на правый нижний угол окна.Нажмите Windows (CR LF) и выберите Unix (LF) .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...