Могу ли я скопировать каталог из образа Docker в Dockerfile? - PullRequest
0 голосов
/ 21 января 2019

Я пытаюсь создать простое веб-приложение на Java (не maven) из моего файла docker, извлекая код с моего git-сервера и создавая развертываемую войну. Для этого мне нужно скопировать каталог classes в мой WEBПапка -INF. Мой каталог классов находится по адресу / usr / имя_приложения / build / classes (в образе докера), и я хочу скопировать его в / usr / имя_приложения / WebContent / WEB-INF / (на том же изображении).

Вот мой файл докера:

FROM maven:3.5-jdk-8 AS buildserver
WORKDIR /usr/app_name
RUN git clone http://uname:pass@git_server_host:git_server_port/scm/tes/app_name.git /usr/app_name 

COPY /usr/app_name/build/classes /usr/app_name/WebContent/WEB-INF/
#***#Is there any way to perform above operation***

WORKDIR /usr/app_name/WebContent/WEB-INF/
RUN jar -cvf app_name.war *
FROM tomcat:latest
COPY --from=buildserver /usr/app_name/WebContent/WEB-INF/app_name.war .
EXPOSE 5060

1 Ответ

0 голосов
/ 21 января 2019

Команда COPY в docker работает только для копирования файлов с хост-машины докера в создаваемый образ.Вы можете сделать то, что вам нужно, просто запустив команду cp в образе (или используя rsync или другой инструмент, если они установлены в контейнере).Примером этого может быть:

RUN cp -r /usr/app_name/build/classes /usr/app_name/WebContent/WEB-INF/

для копирования содержимого в /usr/app_name/WebContent/WEB-INF/classes или:

RUN cp -r /usr/app_name/build/classes/* /usr/app_name/WebContent/WEB-INF/

, если вы хотите скопировать содержимое в / usr / app_name / WebContent/ WEB-INF напрямую.

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