69 lines
2.0 KiB
Bash
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"
|