2016-02-17 7 views
1

Я создаю изображение докера в проекте maven. Вот докер файлФайл докеры не найден

FROM java:8 
# Install maven 
RUN apt-get update 
RUN apt-get install -y maven 

WORKDIR ~/mmt/CouchBaseClient/CB-RestAPI/CacheService 

# Prepare by downloading dependencies 
#ADD pom.xml /mmt/CouchBaseClient/CB-RestAPI/CacheService/pom.xml 
#RUN ["mvn", "dependency:resolve"] 
#RUN ["mvn", "verify"] 
ADD cacheService-0.0.1-SNAPSHOT.jar /target/cacheService-0.0.1-SNAPSHOT.jar 
EXPOSE 4567 
CMD ["/usr/lib/jvm/java-8-openjdk-amd64/bin/java", "-jar", "target/couchclient-0.0.1-SNAPSHOT.jar server cacheService.yml] 

Когда я запускаю следующую команду, чтобы создать свой образ

sudo docker build -t myimage . 

Я получаю следующее сообщение об ошибке

Step 5 : ADD cacheService-0.0.1-SNAPSHOT.jar /target/cacheService-0.0.1-SNAPSHOT.jar 
lstat cacheService-0.0.1-SNAPSHOT.jar: no such file or directory 

Но у меня есть файл там .. Как мне это сделать

+0

Что, кажется, отсутствует в моем ответе? – VonC

+0

Ну, это сработало, но проблема в том, что я изменяю путь файла и даю некоторый случайный путь, пока он работает. Это похоже на то, что он не ищет путь, который он ищет в каталоге, в котором находится файл докеров. –

+0

Он должен искать в каталоге Dockerfile и во всех его подпапках. Это «контекст» сборки докеров. Можете ли вы привести пример команды ADD (полная строка со случайным путем), где она все еще работает? – VonC

ответ

2

Убедитесь, что у вас есть cacheService-0.0.1-SNAPSHOT.jar в такой же папка как ваш Dockerfile.

Таким образом, это будет частью вашей docker build context когда вы делаете sudo docker build -t myimage .

«источник» (в «ADD <source> <destination>») представляет собой относительный путь к PATH, используемой в docker build (здесь «.»: ток каталог).

 Смежные вопросы

  • Нет связанных вопросов^_^