| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #!/bin/bash
- set -e
- echo "🚀 开始构建 Filament Admin Docker 镜像..."
- # 颜色定义
- RED='\033[0;31m'
- GREEN='\033[0;32m'
- YELLOW='\033[1;33m'
- NC='\033[0m' # No Color
- # 检查是否存在 .env 文件
- if [ ! -f .env ]; then
- echo -e "${YELLOW}⚠️ 警告:未找到 .env 文件,将使用示例配置${NC}"
- if [ -f .env.example ]; then
- cp .env.example .env
- echo -e "${GREEN}✅ 已复制 .env.example 到 .env${NC}"
- else
- echo -e "${RED}❌ 错误:无法找到 .env.example 文件${NC}"
- exit 1
- fi
- fi
- # 构建镜像
- echo -e "${YELLOW}📦 构建 Docker 镜像...${NC}"
- docker compose build --no-cache --progress=plain
- # 加载镜像到本地
- echo -e "${YELLOW}💾 保存镜像到文件以便传输...${NC}"
- docker save filamentadmin:latest | gzip > filamentadmin.tar.gz
- echo -e "${GREEN}✅ 镜像已保存到 filamentadmin.tar.gz${NC}"
- # 显示镜像信息
- echo -e "${GREEN}📊 镜像信息:${NC}"
- docker images filamentadmin:latest
- echo -e "${GREEN}🎉 构建完成!${NC}"
- echo ""
- echo -e "${YELLOW}💡 使用方法:${NC}"
- echo -e "1. 将 filamentadmin.tar.gz 传输到目标服务器"
- echo -e "2. 在目标服务器上运行:"
- echo -e " ${GREEN}gunzip -c filamentadmin.tar.gz | docker load${NC}"
- echo -e " ${GREEN}docker compose up -d${NC}"
- echo ""
|