как скопировать файл удалить его и переименовать в dockerfile

#docker #dockerfile

Вопрос:

Во время процесса сборки docker я хочу выполнить следующую задачу

  1. загрузите zip-файл с помощью wget
  2. скопируйте zip-файл в контейнер по адресу say /var/tmp/dest
  3. распакуйте zip-файл по адресу dest /var/tmp/dest1 ==> результат, скажем, 1 файл x.jar
  4. скопируйте x.jar файл из /var/tmp/dest1 в корневое расположение /

я могу выполнить #1, 2 и 3 шага, но это не удается из-за проблемы с разрешением #4 в файле docker, который я использую для запуска cp /var/tmp/dest1/x.jar /

можем ли мы скопировать/или переместить файл из контейнера из одного места в другое ?

Вот содержимое файла настройки

  1. ЗАПУСТИТЕ wget —тихо —префикс каталога=/var/tmp/ —сертификат без проверки artifact-1.zip
  2. ЗАПУСТИТЕ распаковать /var/tmp/artifact-1.zip -d /var/tmp/
  3. ЗАПУСТИТЕ cp /var/tmp/артефакт-*.jar x.jar
  4. ЗАПУСТИТЕ ls -ld / amp;amp; ls -latr

Комментарии:

1. Да; возможно, вам потребуется переключиться на USER root , чтобы настроить файловую систему. Можете ли вы предоставить фактический файл Dockerfile, над которым вы работаете, и фактическую ошибку, которую вы получаете?

2. Вот ошибка удаления промежуточного контейнера d6e135dab01d —> 8e57e54ef95b Шаг 6/8 : ЗАПУСТИТЕ cp /var/tmp/артефакт-> .jar artifact.jar —> Работает в c111b221771f [91mcp: не удается создать обычный файл ‘artifact.jar’: Отказано в разрешении [0mкоманда ‘/bin/sh -c cp /var/tmp/artifact-.jar artifact.jar» возвращен ненулевой код: 1 Шаг сборки «Выполнить оболочку» помечена сборка как сбой