2016-09-26 1 views
0

Изображения Docker создаются с несколькими слоями, я хочу преобразовать это в один слой, есть ли какая-нибудь команда сборки докеров, чтобы это сделать? i googled for, но не могу найти ничегоКак сделать слой докеров одним слоем

+0

Это не предназначено докером. Но вы можете уменьшить количество ваших слоев при объединении нескольких команд, например. команда «RUN». Например, вы можете объединить «RUN echo foo» и «RUN echo bar» в одну команду (и, следовательно, одну команду): 'RUN echo foo && echo bar' – n2o

ответ

1

Нет команды для достижения этого, а однослойное изображение против концепции дизайна докера. В этом Understand images, containers, and storage drivers doc описано, почему изображение докеров имеет несколько уровней. Короче говоря, слои изображений are one of the reasons Docker is so lightweight. When you change a Docker image, such as when you update an application to a new version, a new layer is built and replaces only the layer it updates. Кроме того, даже ваше изображение имеет только один слой, когда вы создаете контейнер с этим изображением, докер все равно добавит тонкий слой для чтения/записи контейнера в верхней части слоя изображения.

Если вы просто хотите переместить изображение и подумать, что один слой может сделать его проще, вы, вероятно, должны попытаться использовать команду docker save для создания файла tar.

Или у вас есть более сложные требования, вам может потребоваться использовать образ VM, а не изображение докеров.