初次提交
This commit is contained in:
79
backend/simple-build.sh
Normal file
79
backend/simple-build.sh
Normal file
@@ -0,0 +1,79 @@
|
||||
#!/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 "=== 构建完成 ==="
|
||||
Reference in New Issue
Block a user