#docker #dockerfile
Вопрос:
Во время процесса сборки docker я хочу выполнить следующую задачу
- загрузите zip-файл с помощью wget
- скопируйте zip-файл в контейнер по адресу say /var/tmp/dest
- распакуйте zip-файл по адресу dest /var/tmp/dest1 ==> результат, скажем, 1 файл x.jar
- скопируйте x.jar файл из /var/tmp/dest1 в корневое расположение /
я могу выполнить #1, 2 и 3 шага, но это не удается из-за проблемы с разрешением #4 в файле docker, который я использую для запуска cp /var/tmp/dest1/x.jar /
можем ли мы скопировать/или переместить файл из контейнера из одного места в другое ?
Вот содержимое файла настройки
- ЗАПУСТИТЕ wget —тихо —префикс каталога=/var/tmp/ —сертификат без проверки artifact-1.zip
- ЗАПУСТИТЕ распаковать /var/tmp/artifact-1.zip -d /var/tmp/
- ЗАПУСТИТЕ cp /var/tmp/артефакт-*.jar x.jar
- ЗАПУСТИТЕ 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 Шаг сборки «Выполнить оболочку» помечена сборка как сбой