Docker安装MS SQL Server并使用Navicat远程连接

MS SQL Server简介

Microsoft SQL Server(简称SQL Server)是由微软公司开发的关系数据库管理系统,它是一个功能强大、性能卓越的企业级数据库平台,用于存储和处理大型数据集、支持高效查询和分析等操作。SQL Server 支持广泛的应用程序开发接口(API),包括 T-SQL、ADO.NET、ODBC、OLE DB 等,并支持多种操作系统,包括 Windows、Linux 和 Docker 等。SQL Server 包含许多高级功能和组件,如数据仓库、分析服务、报告服务、全文搜索等,可为企业提供全面的数据管理和分析解决方案。

基于Ubuntu的Microsoft SQL Server官方镜像

拉取Microsoft SQL Server 2022容器镜像

复制代码
sudo docker pull mcr.microsoft.com/mssql/server:2022-latest

验证mssql镜像是否成功拉取到本地

使用以下命令来查看mssql镜像是否成功拉取到本地:

复制代码
docker images

创建并运行一个mssql容器

使用以下命令启动容器(Docker 镜像启动后,将会自动启动 SQL Server),其中 Y.sa123456 为 SQL Server sa 用户的密码:

这个命令的含义是在 Docker 中以后台模式 (-d) 运行 Microsoft SQL Server 2022 的最新版本 (mcr.microsoft.com/mssql/server:2022-latest) 镜像,并将容器命名为 mssql2022 (--name mssql2022)。同时,通过 -p 1433:1433 参数将容器的 1433 端口映射到主机的 1433 端口上,使得可以通过主机的 1433 端口访问 SQL Server。在容器启动过程中,需要设置两个环境变量:ACCEPT_EULA=Y 表示接受使用条款。MSSQL_SA_PASSWORD=Y.sa123456 表示设置 SA 用户的密码为 "Y.sa123456" 一定要注意密码一点要严格设置不然有坑。

复制代码
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Y.sa123456" -p 1433:1433 --name mssql2022 -d mcr.microsoft.com/mssql/server:2022-latest

注意大坑使用Docker部署Sql Server容器后过几秒就停止了

SA_PASSWORD=Y.sa123456 为密码,要求是最少8位的强密码,要有大写字母,小写字母,数字以及特殊符号,不然会有一个大坑(Docker启动Sql Server容器后过几秒就停止了)。

验证容器是否创建成功

复制代码
docker ps

如果使用docker ps查看不到在使用docker ps -a查看,如果docker ps -a可以查看到那就说明容器没有启动需要使用docker start name来启动容器!

设置 Docker 主机防火墙规则

默认情况下,Docker 带有一个内置的防火墙,需要开放 1433 端口才能让外部访问 SQL Server。使用以下命令开放 Docker 主机的 1433 端口:

复制代码
sudo ufw allow 1433/tcp

重启防火墙,注意重启防火墙之后才会生效:

复制代码
sudo ufw reload

服务器防火墙配置1433的开放端口

参考文章

相关推荐
Studying 开龙wu3 分钟前
CVAT 导出崩溃排查实录:一个空壳轨迹引发的连锁反应
数据库·sqlite
ai小陈8 小时前
GPU服务器租用存储验收:检查点写入与磁盘吞吐实战
运维·服务器·人工智能·ai·ssh·gpu算力
PaperData8 小时前
1985-2025年全国区县专利申请与授权面板数据
数据库
snpgroupcn8 小时前
大数据量SAP迁移方案:系统越大,越不能硬搬
数据库·sap
Flynt9 小时前
Redis Cluster主节点挂了,为什么"高可用"还全员掉线?我把三次kill的记录翻出来了
数据库·redis·分布式
笃行3509 小时前
KingbaseES 数据加密全解:从 SSL 到全密态
数据库
灯澜忆梦10 小时前
【minio】#1 | 简介与安装
docker·对象存储·minio
Ivanqhz10 小时前
激活函数在 Transformer 中的作用及各种变体简述
java·linux·数据库·人工智能·深度学习
有毒的教程11 小时前
VMware仅主机模式:物理机 ↔ 虚拟机 文件共享
运维
java1234_小锋11 小时前
【技术专题】Mysql8 数据库 - Mysql8 数据类型简介
数据库·mysql