2025-09-01 23:44:57 +08:00

69 lines
2.0 KiB
Bash

#!/bin/bash
# SQL Server 2022 Linux Docker Compose 启动脚本
echo "=========================================="
echo "SQL Server 2022 Linux Docker Compose 启动脚本"
echo "=========================================="
# 检查是否存在环境变量文件
if [ ! -f ".env" ]; then
echo "警告: 未找到 .env 文件"
echo "正在从 sqlserver.env 创建 .env 文件..."
cp sqlserver.env .env
echo "请编辑 .env 文件,特别是修改 SQLSERVER_SA_PASSWORD"
echo "然后重新运行此脚本"
exit 1
fi
# 检查Docker是否运行
if ! docker info > /dev/null 2>&1; then
echo "错误: Docker 未运行,请先启动 Docker"
exit 1
fi
# 检查Docker Compose是否可用
if ! command -v docker-compose &> /dev/null; then
echo "错误: docker-compose 未安装"
exit 1
fi
echo "正在启动 SQL Server 2022..."
echo ""
# 创建必要的目录
echo "创建目录结构..."
mkdir -p sqlserver/data sqlserver/logs sqlserver/backup sqlserver/web-config
# 启动服务
echo "启动 Docker Compose 服务..."
docker-compose -f docker-compose-sqlserver.yml --env-file .env up -d
# 等待服务启动
echo "等待 SQL Server 启动..."
sleep 10
# 检查服务状态
echo ""
echo "检查服务状态..."
docker-compose -f docker-compose-sqlserver.yml ps
echo ""
echo "=========================================="
echo "启动完成!"
echo "=========================================="
echo ""
echo "连接信息:"
echo " 服务器: localhost"
echo " 端口: $(grep SQLSERVER_PORT .env | cut -d'=' -f2)"
echo " 用户名: sa"
echo " 密码: $(grep SQLSERVER_SA_PASSWORD .env | cut -d'=' -f2)"
echo " 示例数据库: SampleDB"
echo ""
echo "常用命令:"
echo " 查看日志: docker-compose -f docker-compose-sqlserver.yml logs -f sqlserver"
echo " 停止服务: docker-compose -f docker-compose-sqlserver.yml down"
echo " 进入容器: docker exec -it sqlserver-2022 /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P '$(grep SQLSERVER_SA_PASSWORD .env | cut -d'=' -f2)'"
echo ""
echo "详细说明请查看 SQLServer-README.md"