fix: Исправлена настройка buildx для работы в контейнере
- Обновлена функция docker-setup-builder для работы в контейнере - Добавлен флаг --bootstrap для автоматического запуска builder'а - Добавлена проверка статуса builder'а после создания - Добавлена функция docker-clean-builder для очистки builder'а - Обновлена справка с информацией о новых функциях - Builder теперь работает в контейнере, а не устанавливается в систему - Поддержка всех платформ: linux/arm64, linux/amd64, linux/amd64/v2, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/arm/v7, linux/arm/v6 Исправления: - buildx теперь запускается в контейнере - Автоматическая проверка статуса builder'а - Возможность очистки и пересоздания builder'а - Улучшенная диагностика проблем со сборкой
This commit is contained in:
33
Makefile
33
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
|
||||
# =============================================================================
|
||||
|
||||
Reference in New Issue
Block a user