diff --git a/Makefile b/Makefile index 53268d1..6c6c0ab 100644 --- a/Makefile +++ b/Makefile @@ -476,7 +476,15 @@ docker: echo " 💥 make docker purge - ПОЛНАЯ очистка Docker"; \ echo " ⚠️ УДАЛЯЕТ: все контейнеры, образы, тома, сети"; \ echo " ⚠️ ОСТАНОВИТ: все запущенные контейнеры"; \ - echo " ⚠️ ТРЕБУЕТ: подтверждение пользователя";; \ + echo " ⚠️ ТРЕБУЕТ: подтверждение пользователя"; \ + echo ""; \ + echo " 🔧 make docker-setup-builder - настройка multi-arch builder"; \ + echo " 💡 Создает: builder в контейнере (не в системе)"; \ + echo " 💡 Поддерживает: amd64 и arm64 архитектуры"; \ + echo ""; \ + echo " 🧹 make docker-clean-builder - очистка multi-arch builder"; \ + echo " 💡 Удаляет: builder контейнер"; \ + echo " 💡 Полезно: при проблемах со сборкой";; \ esac # ============================================================================= @@ -485,14 +493,18 @@ docker: # Настройка multi-arch builder docker-setup-builder: - @echo "🔧 Настройка multi-arch builder..."; \ + @echo "🔧 Настройка multi-arch builder в контейнере..."; \ if ! docker buildx ls | grep -q $(DOCKER_BUILDX_BUILDER); then \ - echo "📦 Создание builder $(DOCKER_BUILDX_BUILDER)..."; \ - docker buildx create --name $(DOCKER_BUILDX_BUILDER) --driver docker-container --use; \ + echo "📦 Создание builder $(DOCKER_BUILDX_BUILDER) в контейнере..."; \ + docker buildx create --name $(DOCKER_BUILDX_BUILDER) --driver docker-container --bootstrap --use; \ + echo "⏳ Ожидание запуска builder..."; \ + sleep 5; \ else \ echo "✅ Builder $(DOCKER_BUILDX_BUILDER) уже существует"; \ docker buildx use $(DOCKER_BUILDX_BUILDER); \ - fi + fi; \ + echo "🔍 Проверка статуса builder..."; \ + docker buildx inspect $(DOCKER_BUILDX_BUILDER) --bootstrap # Извлечение тега из базового образа docker-get-base-tag: @@ -550,6 +562,17 @@ docker-build-image: .; \ echo "✅ $(IMAGE):$$TAG собран и отправлен" +# Очистка multi-arch builder +docker-clean-builder: + @echo "🧹 Очистка multi-arch builder..."; \ + if docker buildx ls | grep -q $(DOCKER_BUILDX_BUILDER); then \ + echo "🗑️ Удаление builder $(DOCKER_BUILDX_BUILDER)..."; \ + docker buildx rm $(DOCKER_BUILDX_BUILDER) || true; \ + echo "✅ Builder удален"; \ + else \ + echo "ℹ️ Builder $(DOCKER_BUILDX_BUILDER) не найден"; \ + fi + # ============================================================================= # КОМАНДЫ ДЛЯ РАБОТЫ С ANSIBLE-CONTROLLER # =============================================================================