Извлечение файла, который был удален во время сборки образа

#docker

#docker

Вопрос:

У меня есть образ docker. Когда я использую docker history команду на изображении, я вижу

 85d9bf810d44        9 days ago          /bin/sh -c apk add vim                          26.9MB
<missing>           9 days ago          /bin/sh -c apk update                           1.78MB
<missing>           9 days ago          /bin/sh -c rm -f file.txt                           0B
<missing>           9 days ago          /bin/sh -c a=$(base64 -d < file.txt) amp;amp; echo $a …   49B
<missing>           9 days ago          /bin/sh -c #(nop) COPY file:98f5646751cb4985…   68B
<missing>           6 weeks ago         /bin/sh -c #(nop)  CMD ["/bin/sh"]              0B
<missing>           6 weeks ago         /bin/sh -c #(nop) ADD file:f17f65714f703db90…   5.57MB
 

Итак, был file.txt в какой-то момент на изображении, но позже оно было удалено. Я хотел бы знать, есть ли способ извлечь содержимое этого файла из слоев изображения.
Я изучил погружение и все такое прочее. Также навигация по файлам наложения Docker (как указано здесь ) казалась многообещающей, но я использую macOS и не смог найти соответствующие каталоги…

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

1. Смотрите Эту статью на medium в них упоминается, что если вы используете OSX, вам необходимо подключиться к виртуальной машине.

Ответ №1:

docker image save экспортирует архив, содержащий архив на слой.

https://docs.docker.com/engine/reference/commandline/image_save/