Извлечь файл из образа Docker?

Это ошибка в системе Mathematica 11.0 в системах Linux. Вышла Mathematica 11.0.1, которая подчиняет ситуацию, но сейчас возникли серьезные сетевые проблемы с распространением новейшего программного обеспечения среди инженеров в течение нескольких дней, поэтому мне не удалось устранить неполадки дальше.

Мой первоначальный тестовый случай был принят Wolfram для дальнейшего устранения неполадок в 3D-объектах в Linux.

28
20.12.2016, 14:19
3 ответа

Если я не ошибаюсь, я считаю, что контейнеры докеров действительно хранят кешированные файлы, созданные в следующих каталог для Ubuntu:

/ var / lib / docker / aufs / diff /

Оттуда вы сможете получить доступ к файловой системе и получить свои файлы.

{{1} }
1
27.01.2020, 19:39

Ничего из вышеперечисленного мне не помогло. Полная рабочая команда:

docker run --rm --entrypoint /bin/sh image_name -c "cat /path/filename" > output_filename

Без кавычек catпередается без имени файла, поэтому не знает, что показывать. Также рекомендуется удалить контейнер после завершения команды.

7
27.01.2020, 19:39

Если сохранение полного вывода docker saveневозможно, вы можете использовать конвейеры для извлечения из него только необходимого файла.

К сожалению, из-за того, что на выходе получается "смола из смол", этот процесс может быть несколько итеративным.

То, что я сделал, когда мне только что нужно было извлечь файл, было:

  1. Определить, какую версию образа интересующий вас файл изменил последний раз (как вы это сделаете, вероятно, зависит от вашего образа )и даты его создания/сохранения

  2. Получить полное оглавление из вывода команды docker saveс помощью:

    docker сохранить ИЗОБРАЖЕНИЕ _ИМЯ | смола -твф-

  3. Найдите файл layer.tar(s )в выводе этой команды, которые соответствуют дате изображения, которую вы определили на шаге 1. (вы можете добавить | grep layer.tar, чтобы просто показать эти файлы)

  4. Извлеките этот layer.tarфайл в стандартный формат и получите его оглавление:

    docker сохранить ИЗОБРАЖЕНИЕ _ИМЯ | tar -xf--O КОНТРОЛЬНАЯ СУММА _FROM _LIST/layer.tar | смола -твф-

  5. Убедитесь, что нужный файл есть в списке,и извлеките его, как только найдете имя:

    docker сохранить ИЗОБРАЖЕНИЕ _ИМЯ | tar -xf--O КОНТРОЛЬНАЯ СУММА _FROM _LIST/layer.tar | tar -xf -ПУТЬ/ДО/ВАШ/ФАЙЛ

Если существует более одного layer.tarфайла, соответствующего дате, которую вы ищете на шаге 2/3, вам может потребоваться повторить шаг 4 для каждого из них, пока вы не найдете правильный

Замените текст, выделенный прописными буквами, в приведенных выше командах правильными именами изображений, контрольными суммами и именами файлов для вашего случая.

4
27.01.2020, 19:39

Теги

Похожие вопросы