当前位置: 首页 > news >正文

docker快速启动sqlserver实例并自动测试shell脚本

注:自备网络环境

#!/bin/bash# ============================================================# Docker 一键部署 SQL Server 2022 + 自动测试# ============================================================SA_PASSWORD="YourStrong@Passw0rd"CONTAINER_NAME="sqlserver-test"PORT=1433IMAGE="mcr.microsoft.com/mssql/server:2022-latest"echo"==> [1/4] 拉取 SQL Server 镜像..."dockerpull$IMAGEecho"==> [2/4] 启动容器..."dockerrun-d\--name$CONTAINER_NAME\-e"ACCEPT_EULA=Y"\-e"SA_PASSWORD=$SA_PASSWORD"\-e"MSSQL_PID=Developer"\-p$PORT:1433\--memory="2g"\--restartunless-stopped\$IMAGEecho"==> [3/4] 等待 SQL Server 就绪(最多 60 秒)..."foriin$(seq112);dosleep5STATUS=$(dockerexec$CONTAINER_NAME\/opt/mssql-tools18/bin/sqlcmd\-Slocalhost-Usa-P"$SA_PASSWORD"\-Q"SELECT 1"-No2>/dev/null)if[$?-eq0];thenecho" SQL Server 已就绪!"breakfiecho" 等待中...($((i*5))s)"doneecho"==> [4/4] 执行基础测试..."dockerexec$CONTAINER_NAME\/opt/mssql-tools18/bin/sqlcmd\-Slocalhost-Usa-P"$SA_PASSWORD"-No\-Q" -- 建库 CREATE DATABASE TestDB; GO USE TestDB; GO -- 建表 CREATE TABLE Users ( Id INT IDENTITY(1,1) PRIMARY KEY, Name NVARCHAR(100) NOT NULL, Email NVARCHAR(200), CreatedAt DATETIME DEFAULT GETDATE() ); GO -- 插入数据 INSERT INTO Users (Name, Email) VALUES (N'张三', 'zhangsan@example.com'), (N'李四', 'lisi@example.com'), (N'王五', 'wangwu@example.com'); GO -- 查询 SELECT * FROM Users; GO -- 统计 SELECT COUNT(*) AS TotalUsers FROM Users; GO "echo""echo"=============================="echo" 部署完成!连接信息:"echo" 主机: localhost:$PORT"echo" 用户: sa"echo" 密码:$SA_PASSWORD"echo"=============================="

停止并删除实例:

dockerstop sqlserver-test&&dockerrmsqlserver-test
http://www.cnnetsun.cn/news/2186956.html

相关文章:

  • 告别西门子?用倍福CX9020嵌入式控制器和TwinCAT3,我这样搭建我的第一个软PLC项目
  • 2篇1章3节:文献高效阅读技巧及科研笔记管理策略
  • 为内部知识库问答系统接入 Taotoken 多模型后备方案
  • 抖音视频无水印下载终极指南:免费工具完整使用教程
  • 为内部知识库问答引擎接入多模型后备方案
  • 【Linux从入门到精通】第39篇:版本控制Git服务器搭建——Gitea/GitLab私有化部署
  • 基于Telegram的多功能AI机器人:集成GPT、Gemini与图像生成
  • 从Netflix推荐到反欺诈:手把手拆解Elasticsearch ANN算法的5个真实应用案例
  • 为 Hermes Agent 工具链配置 Taotoken 自定义模型提供商
  • PHP工程师转型AI后端必学:Swoole长连接+RAG实时交互架构(含GitHub可运行Demo)
  • Arm Performix性能分析工具:原理、配置与优化实战
  • Illustrator脚本革命:从手动操作到自动化思维的转变
  • 猫抓Cat-Catch:网页资源捕获的智能管家,3分钟掌握媒体下载核心技巧
  • BetterJoy:3个步骤让你的Switch手柄在PC上获得完美XInput兼容性
  • 魔兽争霸3现代化优化工具:让你的经典游戏焕发新生
  • 利用Taotoken快速为多个AI原型项目提供分钟级可用的模型API
  • 终极指南:3分钟学会使用ArchivePasswordTestTool找回遗忘的压缩包密码
  • 记录一次在 Ubuntu 高负载下 Taotoken 服务稳定性的实际使用感受
  • 基于安卓的企业知识库协同编辑平台毕业设计
  • 大型语言模型行为调控框架与评估方法解析
  • 从贝叶斯网络到因子图:用大白话图解SLAM后端优化的概率模型(附GTSAM代码示例)
  • Isolar A/B实战:从ARXML文件结构看Autosar应用层(SWC)配置的底层逻辑
  • JavaScript 类
  • mysql如何实现分布式mysql部署_使用集群管理工具配置
  • NHSE完整指南:免费开源动森存档编辑器,打造你的梦想岛屿
  • Hyper-Bagel框架:多模态AI模型的统一加速方案
  • VSCode 2026信创环境部署避坑清单:从国密SM4证书配置到ARM64二进制签名,9类高频报错一键修复
  • opcode:基于Tauri构建的Claude Code桌面GUI,实现AI编程助手可视化与智能体管理
  • Pearcleaner深度解析:macOS应用彻底清理的技术实现与架构设计
  • Laravel + LLM集成实战避坑指南(2024生产环境血泪总结)