feat: оптимизирована команда docker clean-builder
- Добавлено удаление кеша builds в команду docker clean - Оптимизирована команда docker clean-builder с таймаутами - Добавлена принудительная остановка контейнеров builder'а - Убрана проблемная проверка docker buildx inspect - Добавлены таймауты 10 сек для docker buildx rm и prune - Обновлена справка с описанием новых возможностей - Команда теперь работает быстро и надежно
This commit is contained in:
32
Makefile
32
Makefile
@@ -418,12 +418,14 @@ docker:
|
||||
done; \
|
||||
echo "✅ Загрузка завершена";; \
|
||||
clean) \
|
||||
echo "🧹 Очистка Docker образов..."; \
|
||||
echo "🧹 Очистка Docker образов и builds..."; \
|
||||
for image in $(DOCKER_IMAGES); do \
|
||||
echo "🗑️ Удаление $(DOCKER_REGISTRY):$$image-$(DOCKER_VERSION)"; \
|
||||
docker rmi $(DOCKER_REGISTRY):$$image-$(DOCKER_VERSION) 2>/dev/null || true; \
|
||||
done; \
|
||||
echo "✅ Образы очищены";; \
|
||||
echo "🗑️ Удаление кеша builds для наших образов..."; \
|
||||
docker buildx prune --filter type=exec.cachemount --filter type=source.local --filter type=source.git.checkout --force 2>/dev/null || true; \
|
||||
echo "✅ Образы и кеш builds очищены";; \
|
||||
info) \
|
||||
echo "📊 Информация об образах..."; \
|
||||
for image in $(DOCKER_IMAGES); do \
|
||||
@@ -462,13 +464,14 @@ docker:
|
||||
fi;; \
|
||||
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;; \
|
||||
echo "🛑 Принудительная остановка всех контейнеров builder..."; \
|
||||
docker ps -q --filter "name=$(DOCKER_BUILDX_BUILDER)" | xargs -r docker stop 2>/dev/null || true; \
|
||||
docker ps -aq --filter "name=$(DOCKER_BUILDX_BUILDER)" | xargs -r docker rm -f 2>/dev/null || true; \
|
||||
echo "🗑️ Удаление builder $(DOCKER_BUILDX_BUILDER) с таймаутом..."; \
|
||||
timeout 10 docker buildx rm --force $(DOCKER_BUILDX_BUILDER) 2>/dev/null || true; \
|
||||
echo "🧹 Очистка кеша builder..."; \
|
||||
timeout 10 docker buildx prune --all --force 2>/dev/null || true; \
|
||||
echo "✅ Builder и кеш удалены";; \
|
||||
setup-builder) \
|
||||
echo "🔧 Настройка multi-arch builder в контейнере..."; \
|
||||
if ! docker buildx ls | grep -q $(DOCKER_BUILDX_BUILDER); then \
|
||||
@@ -510,13 +513,16 @@ docker:
|
||||
echo " 💡 Загружает: все образы из registry inecs"; \
|
||||
echo " 💡 Пропускает: отсутствующие образы"; \
|
||||
echo ""; \
|
||||
echo " 🧹 make docker clean - удалить локальные образы"; \
|
||||
echo " 💡 Удаляет: все образы inecs/*:latest"; \
|
||||
echo " 🧹 make docker clean - удалить локальные образы и кеш builds"; \
|
||||
echo " 💡 Удаляет: все образы inecs/ansible-lab:*"; \
|
||||
echo " 💡 Очищает: кеш builds (exec.cachemount, source.local, git.checkout)"; \
|
||||
echo " 💡 Сохраняет: другие builds в системе"; \
|
||||
echo " 💡 Безопасно: игнорирует ошибки"; \
|
||||
echo ""; \
|
||||
echo " 🧹 make docker clean-builder - очистка multi-arch builder"; \
|
||||
echo " 💡 Удаляет: builder контейнер"; \
|
||||
echo " 💡 Полезно: при проблемах со сборкой"; \
|
||||
echo " 💡 Удаляет: builder контейнер принудительно"; \
|
||||
echo " 💡 Очищает: весь кеш builds"; \
|
||||
echo " 💡 Быстро: принудительное удаление без ожидания"; \
|
||||
echo ""; \
|
||||
echo " 🔧 make docker setup-builder - настройка multi-arch builder"; \
|
||||
echo " 💡 Создает: builder в контейнере (не в системе)"; \
|
||||
|
||||
Reference in New Issue
Block a user