#!/bin/bash echo "===============================================" echo "🔍 Docker Buildx 环境验证脚本" echo "===============================================" # 检查Docker版本 echo "📋 Docker版本:" docker --version # 检查Buildx版本 echo "" echo "📋 Docker Buildx版本:" docker buildx version # 检查当前构建器 echo "" echo "📋 当前构建器列表:" docker buildx ls # 检查是否存在jenkins-builder echo "" echo "📋 检查jenkins-builder构建器:" if docker buildx inspect jenkins-builder >/dev/null 2>&1; then echo "✅ jenkins-builder 构建器已存在" docker buildx inspect jenkins-builder else echo "❌ jenkins-builder 构建器不存在,将创建新的" docker buildx create --name jenkins-builder --use --bootstrap echo "✅ jenkins-builder 构建器创建完成" fi # 检查BuildKit功能 echo "" echo "📋 测试Buildx功能:" echo "FROM alpine:latest" > /tmp/test.dockerfile echo "RUN echo 'Hello BuildKit!'" >> /tmp/test.dockerfile if docker buildx build -f /tmp/test.dockerfile -t buildx-test . >/dev/null 2>&1; then echo "✅ Buildx构建测试成功" docker rmi buildx-test >/dev/null 2>&1 else echo "❌ Buildx构建测试失败" fi # 清理测试文件 rm -f /tmp/test.dockerfile # 检查缓存目录 echo "" echo "📋 缓存目录状态:" if [ -d "/tmp/.buildx-cache" ]; then cache_size=$(du -sh /tmp/.buildx-cache 2>/dev/null | cut -f1) echo "✅ 缓存目录存在,大小: $cache_size" else echo "📁 缓存目录不存在(正常,首次构建会创建)" fi echo "" echo "===============================================" echo "✅ Docker Buildx 环境验证完成" echo "==============================================="