Подтвердить что ты не робот

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

В Docker 1.13 добавлен новый параметр - сквош.

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

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

Без сквоша

введите описание изображения здесь

С Squash

введите описание изображения здесь

Теперь на мой вопрос.

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

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

4b9b3361

Ответ 1

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

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

Ответ: У вашего изображения не будет секретного файла.

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

Как только сборка будет завершена, Docker создаст новое изображение, загружающее diff из каждого слоя в один новый слой и ссылающийся на все родительские слои.

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

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

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

Боковые заметки:

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

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