Docker部署Microsoft Sql Server详细步骤

 更新时间:2021年12月03日 11:15:25   作者:kobe_OKOK_  
大家好,本篇文章主要讲的是Docker部署Microsoft Sql Server详细步骤,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览

1 背景

自 SQL Server 2019 CU3 起,支持 Ubuntu 18.04。

自 SQL Server 2019 CU10 起,支持 Ubuntu 20.04。

Docker 引擎 1.8+

至少 2 GB 的磁盘空间
至少 2 GB 的 RAM

博主机器:

Welcome to Ubuntu 20.04.3 LTS (GNU/Linux 5.11.0-37-generic x86_64)

2 创建容器

拉取镜像

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

查看镜像

docker images 
root@dev-virtual-machine:/home/dev# docker images 
REPOSITORY                       TAG              IMAGE ID       CREATED       SIZE
mcr.microsoft.com/mssql/server   2019-latest      6db3c5ebc331   3 weeks ago   1.55GB

运行容器

docker run 
-e "ACCEPT_EULA=Y" 
-e "SA_PASSWORD=Pass@w0rd"    
-p 51433:1433 
--name mssql 
-h mssql    
-d mcr.microsoft.com/mssql/server:2019-latest 
参数 说明
-e “ACCEPT_EULA=Y” 将 ACCEPT_EULA 变量设置为任意值,以确认接受最终用户许可协议。 SQL Server 映像的必需设置。
-e “SA_PASSWORD=Passw0rd” 指定至少包含 8 个字符且符合 SQL Server 密码要求的强密码。 SQL Server 映像的必需设置。
-p 51433:1433 将主机环境中的 TCP 端口(第一个值)映射到容器中的 TCP 端口(第二个值)。 在此示例中,SQL Server 侦听容器中的 TCP 1433,并对主机上的端口 1433 公开。
–name sql1 为容器指定一个自定义名称,而不是使用随机生成的名称。 如果运行多个容器,则无法重复使用相同的名称。
-h sql1 用于显式设置容器主机名,如果不指定它,则默认为容器 ID, 该 ID 是随机生成的系统 GUID。
mcr.microsoft.com/mssql/server:2019-latest SQL Server 2019 Ubuntu Linux 容器映像。

查看容器

root@dev-virtual-machine:/home/dev# docker ps 
CONTAINER ID   IMAGE                                        COMMAND                  CREATED          STATUS          PORTS                                         NAMES
6498220c95f6   mcr.microsoft.com/mssql/server:2019-latest   "/opt/mssql/bin/perm…"   24 minutes ago   Up 23 minutes   0.0.0.0:51433->1433/tcp, :::51433->1433/tcp   mssql

将 -h 和 --name 设为相同的值是一种很好的方法,可以轻松地识别目标容器

3 修改SA密码

微软官方建议修改SA密码

SA 帐户是安装过程中在 SQL Server 实例上创建的系统管理员。 创建 SQL Server 容器后,通过在容器中运行 echo $SA_PASSWORD,可发现指定的 SA_PASSWORD 环境变量。

选择 SA 用户要使用的强密码。

使用 docker exec 运行sqlcmd,以使用 Transact-SQL 更改密码。 以下示例将从用户输入中读取旧密码和新密码。

sudo docker exec -it mssql /opt/mssql-tools/bin/sqlcmd \
-S localhost -U SA \
 -P "$(read -sp "Enter current SA password: "; echo "${REPLY}")" \
 -Q "ALTER LOGIN SA WITH PASSWORD=\"$(read -sp "Enter new SA password: "; echo "${REPLY}")\""

4 链接mssql

下列步骤在容器内部使用 SQL Server 命令行工具 sqlcmd 来连接 SQL Server。

使用 docker exec -it 命令在运行的容器内部启动交互式 Bash Shell。 在下面的示例中,mssql是在创建容器时由 --name 参数指定的名称。

sudo docker exec -it mssql "bash"

在容器内部使用 sqlcmd 进行本地连接。 默认情况下,sqlcmd 不在路径之中,因此需要指定完整路径。

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "Passw0rd"

如果成功,应会显示 sqlcmd 命令提示符:1>

5 容器外链接mssql

1.查找承载容器的计算机的 IP 地址。 在 Linux 上,使用 ifconfig 或 ip addr。在 Windows 上,使用 ipconfig。

2.对于本示例,请在客户端计算机上安装 sqlcmd 工具

3.运行 sqlcmd,指定 IP 地址和映射容器中的端口 1433 的端口。 本例中为主机上的端口 51433,则在此处使用它。 还需要在防火墙上打开相应的入站端口以允许连接。

4.运行 Transact-SQL 命令。 完成后,键入 QUIT。

navicat 链接注意事项

使用Navicat连接Sqlserver数据库时,若端口号不是默认端口号,需要在主机IP后使用英文逗号加端口号的形式。

对于Navicat,以上设置后,需要安装SQL Server Native Client 10.0驱动,安装程序为Navicat软件根目录下的sqlncli_x64.msi,32位版也有提供。安装完成后,创建Sqlserver连接时高级选项卡中的Native Client驱动将有下拉选项可供选择。

总结

到此这篇关于Docker部署Microsoft Sql Server详细步骤的文章就介绍到这了,更多相关Docker部署Microsoft Sql Server内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用docker搭建kong集群操作

    使用docker搭建kong集群操作

    这篇文章主要介绍了使用docker搭建kong集群操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Docker Compose在不同环境的多种安装方式

    Docker Compose在不同环境的多种安装方式

    这篇文章主要介绍了Docker Compose在不同环境的多种安装方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Docker 安装Tomcat、实现Tomcat集群的详细过程

    Docker 安装Tomcat、实现Tomcat集群的详细过程

    这篇文章主要介绍了Docker安装Tomcat、实现Tomcat集群,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • docker默认存储路径修改方法总结

    docker默认存储路径修改方法总结

    docker默认存储路径是/var/lib/docker,占用服务器根分区,容易导致磁盘空间占满,下面这篇文章主要给大家介绍了关于docker默认存储路径修改方法的相关资料,需要的朋友可以参考下
    2023-10-10
  • docker的基本使用及使如何用Docker 运行D435i

    docker的基本使用及使如何用Docker 运行D435i

    这篇文章主要介绍了docker的基本使用及使如何用Docker 运行D435i,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-11-11
  • docker容器重启错误的解决方案

    docker容器重启错误的解决方案

    本文主要介绍了docker容器重启错误的解决方案,详细的介绍了docker 重启错误的原因及其解决方法,具有一定的参考价值,感兴趣的可以了解一下
    2024-07-07
  • Docker快速部署主流脚本语言JavaScript的全过程

    Docker快速部署主流脚本语言JavaScript的全过程

    JavaScript是目前所有主流浏览器上唯一支持的脚本语言,这也是早期JavaScript的唯一用途,下面这篇文章主要给大家介绍了关于Docker快速部署主流脚本语言JavaScript的相关资料,需要的朋友可以参考下
    2023-02-02
  • 定时清理docker私服镜像的方法

    定时清理docker私服镜像的方法

    这篇文章主要介绍了定时清理docker私服镜像的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • docker容器详细讲解如何精简镜像减小体积

    docker容器详细讲解如何精简镜像减小体积

    这篇文章主要介绍了docker容器如何精简镜像减小体积,一般我们打造镜像会有几百MB,学完本文后我们将学会缩小镜像体积,从而达到做出来的镜像只有几十MB,一起来看看吧
    2021-08-08
  • docker 安装ElasticSearch 6.x的教程详解

    docker 安装ElasticSearch 6.x的教程详解

    这篇文章主要介绍了docker 安装ElasticSearch 6.x的教程,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-04-04

最新评论