У меня есть приложение для заметок, которое я создаю с помощью файла Docker в приложении maven. Я хочу скопировать артефакт note-1.0.war в локальный связанный том в папку, например webapps. До сих пор я следующий в Dockerfile:Dockerfile копирование войны на локальный связанный том
FROM maven:latest
MAINTAINER Sonam <[email protected]>
RUN apt-get update
WORKDIR /code
#Prepare by downloading dependencies
ADD pom.xml /code/pom.xml
RUN ["mvn", "dependency:resolve"]
RUN ["mvn", "verify"]
#Adding source, compile and package into a fat jar
ADD src /code/src
RUN ["mvn", "clean"]
#RUN ["mvn", "install"]
RUN ["mvn", "install", "-Dmaven.test.skip=true"]
RUN mkdir webapps
COPY note-1.0.war webapps
#COPY code/target/note-1.0.war webapps
К сожалению, я продолжаю не видеть «нет такого файла или каталога» в заявлении COPY. Ниже ошибка из сборки на Докер хаба:
...
---> bd555aecadbd
Removing intermediate container 69c09945f954
Step 11 : RUN mkdir webapps
---> Running in 3d114c40caee
---> 184903fa1041
Removing intermediate container 3d114c40caee
Step 12 : COPY note-1.0.war webapps
lstat note-1.0.war: no such file or directory
Как я могу скопировать архив войны к «WebApps» папку, которую я исполнил в
RUN mkdir webapps
благодаря
ошибки не о WebApps папки, но о записной 1.0.war, который, кажется, не присутствует в вашем рабочем каталоге. – gile
Да, похоже, он не может его найти. Вы знаете, как я могу это сделать, чтобы «найти» его и скопировать? – Sonam
Вы удвоили. У вас есть note-1.0.war в том же каталоге, где вы сохранили файл Dockerfile? Посмотрите подробнее о COPY https://docs.docker.com/engine/reference/builder/#/copy – gile