Docker 安装 SQL Server 2022 最新版:最简单稳定、国内极速的完整教程

本文提供一套最简单、最稳定、国内极速的Docker安装SQL Server 2022最新版完整教程。包含拉取官方镜像、创建并启动容器(含关键参数说明)、连接信息(主机、端口、用户名、密码)、进入容器操作SQL Server(创建数据库、执行SQL)、以及使用Navicat/DBeaver/DataGrip等可视化工具连接的详细步骤。全程命令可复制,无坑。

快速安装

1、执行如下命令:

docker pull mcr.microsoft.com/mssql/server:2022-latest

拉取官方镜像(2022 最新稳定版),例如:

root@localhost:~# docker pull mcr.microsoft.com/mssql/server:2022-latest
2022-latest: Pulling from mssql/server
cb5e374be662: Pull complete 
f8a6b84d3df9: Pull complete 
55a1cf1ba5f6: Pull complete 
Digest: sha256:e07b9699a2b749969f19d86563ceeea22bd3a69f7f1db85a8d1ac4bdaf0c6f56
Status: Downloaded newer image for mcr.microsoft.com/mssql/server:2022-latest
mcr.microsoft.com/mssql/server:2022-latest

2、执行如下 docker run 命令:

docker run -d \
  --name sqlserver \
  -p 1433:1433 \
  -e "ACCEPT_EULA=Y" \
  -e "SA_PASSWORD=Admin@123" \
  -e "MSSQL_PID=Express" \
  --restart=always \
  mcr.microsoft.com/mssql/server:2022-latest

创建并启动容器,例如:

root@localhost:~# docker run -d \
  --name sqlserver \
  -p 1433:1433 \
  -e "ACCEPT_EULA=Y" \
  -e "SA_PASSWORD=Admin@123" \
  -e "MSSQL_PID=Express" \
  --restart=always \
  mcr.microsoft.com/mssql/server:2022-latest
53dc55bd86e2955c2c6497593b21e9ced145e9c44ad16baa8ba5e1a0dd073cb3

参数说明:

  • SA_PASSWORD=Admin@123    管理员密码(必须复杂:大小写 + 数字 + 符号)

  • 1433    SQL Server 默认端口

  • ACCEPT_EULA=Y    必须同意协议

  • MSSQL_PID=Express    免费版,不用授权

执行 docker run 命令后,使用 docker ps 查看启动是否成功,如下:

root@localhost:~# docker ps | grep sqlserver
53dc55bd86e2   mcr.microsoft.com/mssql/server:2022-latest   "/opt/mssql/bin/laun…"   29 seconds ago   Up 28 seconds   0.0.0.0:1433->1433/tcp, [::]:1433->1433/tcp              sqlserver


连接信息

基于上面的 docker run 命令,可以得知如下数据库连接信息:

  • 主机:localhost

  • 端口:1433

  • 身份验证:SQL Server 身份验证

  • 用户名:sa

  • 密码:Admin@123

操作 SQL Server

执行 docker exec -it sqlserver bash 命令进入到 docker 容器,如下:

root@localhost:~# docker exec -it sqlserver bash
mssql@53dc55bd86e2:/$

继续执行 /opt/mssql-tools/bin/sqlcmd 命令连接数据库(sqlcmd -S 主机地址 -U 用户名 -P 密码),如下:

mssql@53dc55bd86e2:/opt/mssql-tools18/bin$ ./sqlcmd -S localhost -U sa -P Admin@123
Sqlcmd: Error: Microsoft ODBC Driver 18 for SQL Server : SSL Provider: [error:0A000086:SSL routines::certificate verify failed:self-signed certificate].
Sqlcmd: Error: Microsoft ODBC Driver 18 for SQL Server : Client unable to establish connection. For solutions related to encryption errors, see https://go.microsoft.com/fwlink/?linkid=2226722.

连接到数据库失败,这是因为 ODBC 18 默认强制校验 SQL Server 证书,容器内 mssql 是自签名证书,本地连接校验失败,添加 -C 参数跳过验证。如下:

mssql@53dc55bd86e2:/opt/mssql-tools18/bin$ ./sqlcmd -S localhost -U sa -P Admin@123 -C
1>

连接成功后,执行如下 SQL 语句:

mssql@53dc55bd86e2:/opt/mssql-tools18/bin$ ./sqlcmd -S localhost -U sa -P Admin@123 -C
1> CREATE DATABASE TestDB;
2> SELECT name FROM sys.databases;
3> GO
name                                                                                                                            
--------------------------------------------------------------------------------------------------------------------------------
master                                                                                                                          
tempdb                                                                                                                          
model                                                                                                                           
msdb                                                                                                                            
TestDB                                                                                                                          

(5 rows affected)
1>

注意:上面的 GO 是 sqlcmd 专用批处理指令,用于把前面 1、2 两行 SQL 一次性提交给数据库执行。

可视化工具连接

除了使用 sqlcmd 命令行工具连接到数据库,还可以使用 Navicat/DBeaver/DataGrip 等可视化工具连接到数据库。下面是使用 DBeaver 连接到 SQL Server 数据库的过程,如下图:

(1)打开数据库连接弹窗,填写数据库信息,如下图:

(2)点击“测试连接”按钮,弹出驱动设置页面,如下图:

(3)点击测试连接窗口的“下载”按钮开始下载数据库 JDBC 驱动,然后链接到数据库,如下图:

显示连接到数据库成功,下面图是数据库信息:


锲而舍之,朽木不折;锲而不舍,金石可镂。——《荀子·劝学》
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
其他应用
公众号