50 lines
2.2 KiB
Markdown
50 lines
2.2 KiB
Markdown
|
|
# Сборка образа Docker
|
|||
|
|
|
|||
|
|
В документе приводятся команды для сборки Docker образа на хосте под управлением ОС Ubuntu.
|
|||
|
|
|
|||
|
|
## Предусловия
|
|||
|
|
|
|||
|
|
1. Наличие и доступность на хосте клиента системы управления версиями Git.
|
|||
|
|
2. Наличие и доступность на хосте сервиса docker.
|
|||
|
|
3. Авторизация клиента docker в реестре образов, который будет использован для размещения образов фреймворка.
|
|||
|
|
|
|||
|
|
## Сборка
|
|||
|
|
|
|||
|
|
### Получение исходного кода
|
|||
|
|
|
|||
|
|
Клонировать репозиторий с исходным кодом:
|
|||
|
|
```
|
|||
|
|
https://platform-forgejo.stratpro.hse.ru/mlops_platform/unip-controller.git
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Сборка образов
|
|||
|
|
|
|||
|
|
Установить пременные окружения с адресами реестров образов:
|
|||
|
|
```shell
|
|||
|
|
export REG_NAME="my-org"
|
|||
|
|
export RES_REG_NAME="my-org-resources"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Первый реестр образов используется для размещения образа контроллеров и сервисов фреймворка.
|
|||
|
|
Второй реестр образов используется для размещения образов, необходимых для работы приложений.
|
|||
|
|
|
|||
|
|
Перейти в директорию с репозиторием
|
|||
|
|
и собрать образ контроллеров и сервисов фреймворка:
|
|||
|
|
|
|||
|
|
```shell
|
|||
|
|
export CONTROLLER_VERSION="0.3.$VERSION-$(git rev-parse --short HEAD)"
|
|||
|
|
export NAME="unip-controller:$CONTROLLER_VERSION"
|
|||
|
|
docker build . -f build/Dockerfile -t $NAME
|
|||
|
|
docker image tag $NAME $REG_NAME/$NAME
|
|||
|
|
docker push $REG_NAME/$NAME
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Собрать образ, используемый сервисом конвейеров (pipelines) фреймворка:
|
|||
|
|
|
|||
|
|
```shell
|
|||
|
|
export PIPELINE_VALIDATE_RESULTS_VERSION="0.3.$VERSION-$(git rev-parse --short HEAD)"
|
|||
|
|
export NAME="unip-pipeline-validate-results:$PIPELINE_VALIDATE_RESULTS_VERSION"
|
|||
|
|
docker build . -f build/pipeline_validate_results.Dockerfile -t $NAME
|
|||
|
|
docker image tag $NAME $RES_REG_NAME/$NAME
|
|||
|
|
docker push $RES_REG_NAME/$NAME
|
|||
|
|
```
|