Собрать кастомный образ на основе базового для деплоя

Docker registry используется для хранения кастомных Docker-образов. Кастомный образ собирается на основе любого базового образа с использованием необходимых пользователю зависимостей.

Для создания кастомного образа:

  1. Подготовьте Dockerfile на локальной машине (подробнее см. Подготовка Dockerfile).

  2. Подготовьте репозиторий для размещения образа (подробнее см. Подготовка репозитория).

  3. Соберите образ и загрузите его в Docker registry (подробнее см. Сборка кастомного образа и загрузка в Docker registry).

Подготовка Dockerfile

Dockerfile — текстовый документ, который содержит все необходимые команды для сборки образа.

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

В общем случае этот документ выглядит так:

FROM {PROD_REGISTRY}/aicloud-base-images/horovod-cuda11.0-tf2.4.0-pt1.7.1:latest     # the base image from which the custom image will be built
apt-get install mypackage   # packages required for installation

Список базовых образов, доступных в рамках модуля, представлен в разделе Библиотеки в образах.

Рассмотрим пример, как создать Dockerfile с использованием базового образа.

FROM cr.msk.sbercloud.ru/aicloud-base-images/horovod-cuda11.0-tf2.4.0-pt1.7.1
    USER root
apt-get install mypackage
USER user

Подготовка репозитория

Кастомные образы для использования в модуле Deployments необходимо размещать в репозиториях, в наименовании которых есть префикс «deploy-».

Сборка кастомного образа и загрузка в Docker registry

Выполните сборку кастомного образа (docker build), пометьте образ тегом (docker tag) и загрузите образ в реестр (docker push). См. Управление образами.

Примечание

При работе на MacOS с M1 необходимо к команде docker build добавить флаг --platform linux/amd64.