Как работает новый Docker -- squash

на настройки 1.13 новая --сквош.

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

ниже вы можете увидеть разницу от выполнения сборки с параметром --squash и без него.

Без Сквош

enter image description here

С Сквош!--2-->

enter image description here

теперь к моему вопросу.

Если я добавлю секретный файл в мой первый слой, затем используйте секретный файл в my второй слой, и, наконец, удалить мой секретный файл в третий layer, а затем построить с флагом -- squash.

будет никак теперь, чтобы получить секретный файл?

1 ответов


Если я добавлю секретный файл в свой первый слой, то используйте секретный файл в мой второй слой и, наконец, удалить мой секретный файл в третьем слой, а затем построить с флагом -- squash.

будет ли какой-либо способ получить секретный файл?

ответ: изображение не будет секретный файл.

как --squash работает:

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

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

это может упростить процесс создания минимальных контейнерных изображений, но может привести к несколько более высоким накладным расходам при перемещении изображений (поскольку раздавленные слои больше не могут совместно использоваться между изображениями). Докер еще схроны отдельные слои, чтобы сделать последующие сборки быстро.

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

побочные Примечания:

Docker 1.13 также поддерживает сжатие контекста сборки, отправляемого из CLI в демон с помощью --compress флаг. Это ускорит сборки, выполняемые на удаленных демонах, за счет уменьшения объема передаваемых данных.

обратите внимание, начиная с Docker 1.13 эта функция является экспериментальной.