Перейти к содержанию

Images

Работа с образами Docker

Любой контейнер основан на образе. Образ содержит определение того, что будет работать в запущенном контейнере, - примерно как виртуальный диск становится виртуальной машиной при запуске.

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

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

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

Структура слоев

Структура слоев
Структура слоев

Кэширование слоев

  • Кэширование очень важно для реализации быстрых сборок
  • ADD и COPY - файлы по умолчанию кэшируются (в случае изменения файлов кэш сбрасывается)
  • Для остальных инструкций, включая RUN, проверяется только изменение параметров самой инструкции
  • RUN apt-get -y update не проверяет обновления постоянно, только в первый раз
  • пропустить и перестроить кэш можно командой
    docker build --no-cache