2017-01-20 5 views
28

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

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

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

Без Сквош

enter image description here

С Сквош

enter image description here

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

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

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

ответ

37

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

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

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

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

После сборки завершена, Docker создает новый образ ЗАГРУЗКИ и переформатирование из каждого слоя в один новый слой и все ссылки слоев родителя.

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

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

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

Боковые ноты:

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

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

Смежные вопросы