RUN chmod - ошибка при сборке docker из dockerfile - PullRequest
0 голосов
/ 20 сентября 2019

Я пытаюсь скопировать файл .war со своего рабочего стола в папку внутри моего док-контейнера.Затем я хочу извлечь этот файл .war и затем изменить разрешение на все файлы, которые находятся в одной из извлеченных файловых папок.После этого я снова хочу перестроить файл .war (после удаления старого файла .war) в том же месте, которое в конечном итоге будет содержать отредактированные файлы с предоставленными разрешениями на чтение / запись. Этот новый файл .war я могу затем скопировать в свой tomcat / webappsпапка внутри докера для развертывания.

Для этой цели я написал файл докера, как показано

FROM tomcat:8.5-jdk11 
MAINTAINER derek

RUN mkdir -p /usr/src/temp
COPY SP-files/WAR/SP.war  /usr/src/temp/
RUN jar -xvf /usr/src/temp/SP.war
RUN rm -rf SP.war
RUN chmod 777 /usr/src/temp/WEB-INF/native/*

RUN jar -cvf /usr/src/temp/SP.war .
RUN cp /usr/src/temp/SP.war  /usr/local/tomcat/webapps/

Во время процесса сборки докера я получаю сообщение об ошибке chmod: невозможно получить доступ к '/ usr /src / temp / WEB-INF / native / * ': нет такого файла или каталога

Действительно, мой разорванный SP.war содержит папку WEB-INF / native / {, все файлы для редактирования находятся здесь}. Я понятия не имею, почему он не может найти файлы в папке WEB-INF / native /.Есть ли другой способ указать команду chmod в файле Docker?У меня также есть скриншот ошибки. ОШИБКА-ИЗОБРАЖЕНИЕ Изображение, показывающее -Папка WEB-INF / native / * фактически создана

Я также пытался использовать RUN / bin / bash -c chmod +x / usr / src / temp / WEB-INF / native / * но безуспешно ..

1 Ответ

0 голосов
/ 20 сентября 2019

Ваш лучший вариант - запустить контейнер до точки, в которой он работает.Намного легче отлаживать.

Затем выполните только:

FROM tomcat:8.5-jdk11 
MAINTAINER derek

RUN mkdir -p /usr/src/temp
COPY SP-files/WAR/SP.war  /usr/src/temp/
RUN jar -xvf /usr/src/temp/SP.war
RUN rm -rf SP.war

После этого запустите контейнер и выполните команду:

ls /usr/src/temp/

У вас будет четкое представление о том, чтодействительно происходит со структурой каталогов.После этого Вы можете корректировать пути к действительным.Удачи!

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