Merge pull request 'fix(compose): устранена гонка сборки общих образов' (#178) from fix/compose-shared-image-build into main
Reviewed-on: #178
This commit was merged in pull request #178.
This commit is contained in:
commit
2a13f46a6d
2 files changed
+13
-4
No files matched your search
+6
-4
@@ -48,10 +48,10 @@ x-kafka-target: &kafka-target
|
|||||||
|
|
||||||
x-world-starting-days: &world-starting-days "8"
|
x-world-starting-days: &world-starting-days "8"
|
||||||
|
|
||||||
|
# Общие образы Airflow и Superset собирают службы инициализации. Причина
|
||||||
|
# отдельного build: ADR 0001.
|
||||||
x-airflow-common: &airflow-common
|
x-airflow-common: &airflow-common
|
||||||
image: clickstream-airflow:local
|
image: clickstream-airflow:local
|
||||||
build:
|
|
||||||
context: ./infra/airflow
|
|
||||||
environment:
|
environment:
|
||||||
AIRFLOW__CORE__EXECUTOR: LocalExecutor
|
AIRFLOW__CORE__EXECUTOR: LocalExecutor
|
||||||
AIRFLOW__CORE__PARALLELISM: "4"
|
AIRFLOW__CORE__PARALLELISM: "4"
|
||||||
@@ -105,8 +105,6 @@ x-generator-common: &generator-common
|
|||||||
|
|
||||||
x-superset-common: &superset-common
|
x-superset-common: &superset-common
|
||||||
image: clickstream-superset:local
|
image: clickstream-superset:local
|
||||||
build:
|
|
||||||
context: ./infra/superset
|
|
||||||
environment:
|
environment:
|
||||||
SUPERSET_CONFIG_PATH: /app/pythonpath/superset_config.py
|
SUPERSET_CONFIG_PATH: /app/pythonpath/superset_config.py
|
||||||
SUPERSET_SECRET_KEY: ${SUPERSET_SECRET_KEY:?Скопируйте .env.example в .env}
|
SUPERSET_SECRET_KEY: ${SUPERSET_SECRET_KEY:?Скопируйте .env.example в .env}
|
||||||
@@ -257,6 +255,8 @@ services:
|
|||||||
|
|
||||||
airflow-init:
|
airflow-init:
|
||||||
<<: *airflow-common
|
<<: *airflow-common
|
||||||
|
build:
|
||||||
|
context: ./infra/airflow
|
||||||
user: "0:0"
|
user: "0:0"
|
||||||
restart: "no"
|
restart: "no"
|
||||||
depends_on:
|
depends_on:
|
||||||
@@ -340,6 +340,8 @@ services:
|
|||||||
|
|
||||||
superset-init:
|
superset-init:
|
||||||
<<: *superset-common
|
<<: *superset-common
|
||||||
|
build:
|
||||||
|
context: ./infra/superset
|
||||||
restart: "no"
|
restart: "no"
|
||||||
healthcheck:
|
healthcheck:
|
||||||
disable: true
|
disable: true
|
||||||
|
|||||||
@@ -16,6 +16,13 @@
|
|||||||
возвращает единицу — поведение проверено при исполнении #37. Зависимость
|
возвращает единицу — поведение проверено при исполнении #37. Зависимость
|
||||||
включает результат подготовки в общий граф ожидания.
|
включает результат подготовки в общий граф ожидания.
|
||||||
|
|
||||||
|
У каждого общего локального образа один блок `build`. Он находится у службы
|
||||||
|
инициализации. Остальные службы зависят от неё и используют тот же `image`.
|
||||||
|
`docker compose up --build` завершает сборку до запуска контейнеров, поэтому
|
||||||
|
одного блока достаточно. В Buildx 0.30.1 одинаковые блоки у нескольких служб
|
||||||
|
запускают параллельный экспорт одного тега. Иногда сборка завершается ошибкой
|
||||||
|
`image already exists`.
|
||||||
|
|
||||||
Для входа выбран SimpleAuthManager. У него нет команды создания пользователя,
|
Для входа выбран SimpleAuthManager. У него нет команды создания пользователя,
|
||||||
поэтому `airflow-init` записывает пароль администратора из окружения в
|
поэтому `airflow-init` записывает пароль администратора из окружения в
|
||||||
JSON-файл отдельного тома `airflow_auth`. Новый именованный том принадлежит
|
JSON-файл отдельного тома `airflow_auth`. Новый именованный том принадлежит
|
||||||
|
|||||||
Reference in new issue
Block a user