Docker: удалить файл из промежуточного слоя - PullRequest
0 голосов
/ 01 января 2019

Можно ли полностью удалить файл из промежуточного слоя Docker?

Например, у меня есть:

Layer A: with BigFile
 L Layer B: remove BigFile
   L Layer C: builds on B

Поскольку файлы все еще присутствуют в контейнерах, даже если BigFile isnнедоступен, присутствует в C.И, следовательно, добавляет к общему размеру изображения.

Хотя я хотел бы полностью удалить BigFile из C.

Какое решение?Это просто удалить его из Layer A?

1 Ответ

0 голосов
/ 01 января 2019

Какое решение?Это просто удалить его из слоя А?

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

Простой, общий пример - запустить apt get update, установить пакеты, а затем удалить индекс пакета.все в той же команде RUN, чтобы сохранить индекс apt вне уровня изображения.

https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#run больше говорит об этом примере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...