Files
full-stack-doc/backend/simple-build.sh
2025-10-14 20:05:29 +08:00

79 lines
1.8 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# 简单的Docker镜像构建脚本
# 当无法访问Docker Hub时使用
echo "=== 云盘应用 Docker 镜像构建工具 ==="
# 检查可执行文件
if [ ! -f "dist/cloud-drive-server.exe" ]; then
echo "错误: 未找到可执行文件"
echo "请先运行: python package-app.py"
exit 1
fi
# 创建临时目录
TEMP_DIR="temp-docker"
rm -rf $TEMP_DIR
mkdir -p $TEMP_DIR
echo "正在准备Docker镜像内容..."
# 复制可执行文件
cp dist/cloud-drive-server.exe $TEMP_DIR/
# 创建运行脚本
cat > $TEMP_DIR/start.sh << 'EOF'
#!/bin/sh
# 设置时区
export TZ=Asia/Shanghai
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 创建必要目录
mkdir -p /app/uploads /app/logs
# 启动应用
exec ./cloud-drive-server.exe
EOF
chmod +x $TEMP_DIR/start.sh
# 创建简化的Dockerfile
cat > $TEMP_DIR/Dockerfile << 'EOF'
# 使用scratch基础镜像无依赖
FROM scratch
# 复制可执行文件和脚本
COPY cloud-drive-server.exe /
COPY start.sh /
# 设置执行权限
CMD ["/start.sh"]
EOF
echo "Docker镜像内容准备完成"
echo "临时目录: $TEMP_DIR"
# 如果可以使用Docker
if command -v docker &> /dev/null; then
echo "正在构建Docker镜像..."
cd $TEMP_DIR
# 尝试构建
if docker build -t cloud-drive-backend:simple . 2>/dev/null; then
echo "OK Docker镜像构建成功"
echo "镜像名称: cloud-drive-backend:simple"
echo ""
echo "运行命令:"
echo " docker run -d -p 8002:8002 --name cloud-drive-backend cloud-drive-backend:simple"
else
echo "Docker镜像构建失败可能是网络问题"
echo "请检查Docker网络配置或稍后重试"
fi
cd ..
else
echo "未找到Docker命令"
fi
echo "=== 构建完成 ==="