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的开放端口

参考文章

相关推荐
hrrrrb1 小时前
【Spring Security】Spring Security 概念
java·数据库·spring
心止水j1 小时前
spark
javascript·数据库·spark
xujiangyan_2 小时前
Redis详解
数据库·redis·缓存
蓁蓁啊3 小时前
GIT使用SSH 多账户配置
运维·git·ssh
Y编程小白5 小时前
PostgreSQL在Linux中的部署和安装教程
数据库·postgresql
程序猿小三5 小时前
Linux下基于关键词文件搜索
linux·运维·服务器
虚拟指尖6 小时前
Ubuntu编译安装COLMAP【实测编译成功】
linux·运维·ubuntu
椎4957 小时前
苍穹外卖前端nginx错误之一解决
运维·前端·nginx
刘某的Cloud7 小时前
parted磁盘管理
linux·运维·系统·parted
TiAmo zhang7 小时前
SQL Server 2019实验 │ 数据库和表的创建、修改与删除
数据库·oracle