Образ — сохранённые файлы и настройки по умолчанию. Контейнер — экземпляр с процессом и фактическими параметрами запуска. Один образ можно использовать для нескольких экземпляров, но их окружение и внешние данные могут различаться.
Образ контейнера
Определение
Образ контейнера — подготовленное содержимое приложения: манифест, конфигурация и упорядоченные слои файловой системы. Манифест связывает эти части по дайджестам. Индекс образа может объединять несколько вариантов, например для процессоров amd64 и arm64.
Также ищут: Container image · OCI image · образ приложения
Зачем это знать
Одинаковое имя образа не доказывает пригодность для разных серверов. До закупки платформы проверьте нужную архитектуру и поддерживаемую операционную систему. Для повторного выпуска сохраните точный образ: его настройки по умолчанию ещё могут быть изменены конфигурацией запуска.
Карта понятия
Что подтверждено
Манифест OCI содержит ссылки на конфигурацию и упорядоченные слои файловой системы. Необязательный индекс может ссылаться на несколько манифестов для разных аппаратных платформ.
Граница применимости: Структура образа и индекса OCI.
Образ содержит файлы и настройки по умолчанию. Процесс появляется после создания и запуска контейнера; параметры среды выполнения могут отличаться от настроек образа.
Граница применимости: Формат образа и жизненный цикл контейнера OCI.
Один индекс образа может содержать разные манифесты для amd64 и arm64. Имя образа будет общим, а исполняемые файлы — разными. До покупки серверов проверьте, что в индексе есть вариант для нужной архитектуры.
Граница применимости: Индекс OCI с несколькими платформами; наличие эмуляции отдельно не предполагается.
Конфигурация образа задаёт, в частности, архитектуру, операционную систему, параметры запуска и сведения о слоях. Сам список файлов не описывает полностью способ запуска приложения.
Граница применимости: Конфигурация образа OCI.
Дескриптор OCI связывает объект с типом данных, размером и дайджестом. По нему проверяют именно полученные данные, а не сходство имени файла или метки версии.
Граница применимости: Дескрипторы манифеста, конфигурации и слоёв OCI.
Совместимый формат OCI не превращает исполняемый файл одной архитектуры в файл другой. Для переноса приложения нужна подходящая платформа образа и среда выполнения.
Граница применимости: Формат образа и конфигурация запуска; эмуляция и трансляция инструкций вне этой области.
Не путать
Образ связывает конфигурацию и все слои. Один слой — только часть файловых изменений, без полного описания запуска. Проверка одного слоя не заменяет проверку готового образа.
Образ описывает содержимое приложения, реестр хранит и выдаёт это содержимое. Для восстановления нужны и точный идентификатор образа, и возможность получить все его объекты.
Что проверить
- Сверьте архитектуру и операционную систему образа с целевой платформой.
- Определите, фиксируете ли индекс нескольких платформ или манифест одной платформы.
- Сохраните дайджест выбранного объекта и способ проверки происхождения сборки.
- Проверьте команду запуска и настройки по умолчанию в конфигурации.
- Отделите файлы образа от данных, которые приложение будет записывать во время работы.
- Проверьте получение образа на новом узле без локального кэша.
- До замены архитектуры серверов испытайте нужный вариант приложения на целевом оборудовании.
Первоисточники
- Open Container Initiative Runtime Specification
Определяет подготовленный пакет контейнера, config.json, окружение процесса и операции жизненного цикла.
- Images
Различает имена образов, изменяемые метки и дайджесты. Описывает политику загрузки и выбор содержимого при запуске.