如何在ubuntu[linux] 上用docker安装Sqlserver

这篇具有很好参考价值的文章主要介绍了如何在ubuntu[linux] 上用docker安装Sqlserver。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本次按照目前最新版本Sqlserver2022进行记录

先决条件

  • 任何受支持的 Linux 发行版上的 Docker 引擎 1.8 及更高版本。 有关详细信息,请参阅 Install Docker(安装 Docker)。
  • 有关硬件要求和处理器支持的详细信息,请参阅SQL Server 2022:硬件和软件要求
  • Docker overlay2 存储驱动程序。 此驱动程序是大多数用户的默认设置。 如果你未使用此存储提供程序并且需要进行更改,请参阅有关配置 overlay2 的 Docker 文档中的说明和警告。

  • 在 Docker 主机上安装最新的 sqlcmd。

  • 至少 2 GB 的磁盘空间。

  • 至少 2 GB 的 RAM。

  • Linux 上的 SQL Server 的系统要求。

从注册表拉取容器

从 Microsoft 容器注册表中请求 SQL Server 2022 (16.x) Linux 容器映像。

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

运行容器

要使用 Docker 运行 Linux 容器映像,可以从 Bash Shell 或提升的 PowerShell 命令提示符使用以下命令。

sudo docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=密码" \
   -p 1433:1433 --name sql1 --hostname sql1 \
   -d \  -v /data/mssql:/var/opt/mssql
   mcr.microsoft.com/mssql/server:2022-latest

密码应符合 SQL Server 默认密码策略,否则容器无法设置 SQL Server,会停止工作。 默认情况下,密码必须为至少八个字符且包含以下四种字符中的三种:大写字母、小写字母、十进制数字、符号。 可使用 docker logs 命令检查错误日志。

默认情况下,本快速入门会创建一个使用 SQL Server 开发人员版的容器。 在容器中运行生产版本的过程略有不同。 有关详细信息,请参阅运行生产容器映像。

下表对前一个 docker run 示例中的参数进行了说明:

 

参数 说明
-e "ACCEPT_EULA=Y" 将 ACCEPT_EULA 变量设置为任意值,以确认接受最终用户许可协议。 SQL Server 映像的必需设置。
-e "MSSQL_SA_PASSWORD=<YourStrong@Passw0rd>" 指定至少包含 8 个字符且符合密码策略的强密码。 SQL Server 映像的必需设置。
-e "MSSQL_COLLATION=<SQL_Server_collation>" 指定自定义 SQL Server 排序规则,而不使用默认值 SQL_Latin1_General_CP1_CI_AS
-p 1433:1433 将主机环境中的 TCP 端口(第一个值)映射到容器中的 TCP 端口(第二个值)。 在此示例中,SQL Server 侦听容器中的 TCP 1433,此容器端口随后会对主机上的 TCP 端口 1433 公开。
--name sql1 为容器指定一个自定义名称,而不是使用随机生成的名称。 如果运行多个容器,则无法重复使用相同的名称。
--hostname sql1 用于显式设置容器主机名。 如果未指定主机名,则主机名默认为容器 ID,这是随机生成的系统 GUID。
-d 在后台运行容器(守护程序)。
-v   将文件挂载到 本机路径/data/mssql
mcr.microsoft.com/mssql/server:2022-latest SQL Server Linux 容器映像。

更改系统管理员密码

SA 帐户是安装过程中在 SQL Server 实例上创建的系统管理员。 创建 SQL Server 容器后,可以通过在容器中运行 echo $MSSQL_SA_PASSWORD 来发现指定的 MSSQL_SA_PASSWORD 环境变量。 为了安全起见,应在生产环境中更改 SA 密码。

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

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

    sudo docker
    exec
    -it sql1 /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}")\""

     

连接到 SQL Server

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

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

    sudo docker exec -it sql1 "bash"
  2. 在容器内部使用完整路径通过 sqlcmd 进行本地连接。
    sudo /opt/mssql-tools/bin/sqlcmd -S localhost -U <userid> -P "<YourNewStrong@Passw0rd>"
  3.  备注

    默认情况下,较新版本的 sqlcmd 是安全的。 有关连接加密的详细信息,请参阅 sqlcmd 实用工具(对于 Windows)和使用 sqlcmd 进行连接(对于 Linux 和 macOS)。 如果连接不成功,则可以将 -No 选项添加到 sqlcmd,以指定加密是可选的,而不是强制性的。

    可以省略命令行上提示要输入的密码。 例如:

    sudo /opt/mssql-tools/bin/sqlcmd -S localhost -U <userid>
  4. 如果成功,应会显示 sqlcmd 命令提示符:1>

创建和查询数据

以下部分将引导你使用 sqlcmd 和 Transact-SQL 完成新建数据库、添加数据并运行查询的整个过程。

新建数据库

以下步骤创建一个名为 TestDB 的新数据库。

  1. 在 sqlcmd 命令提示符中,粘贴以下 Transact-SQL 命令以创建测试数据库:

    CREATE DATABASE TestDB; 
  2. 在下一行中,编写一个查询以返回服务器上所有数据库的名称:

    SELECT Name from sys.databases;
  3. 前两个命令没有立即运行。 在新行中键入 GO 以运行前面的命令:

    GO

插入数据

接下来创建一个新表 Inventory,然后插入两个新行。

  1. 在 sqlcmd 命令提示符中,将上下文切换到新的 TestDB 数据库:

    USE TestDB;
  2. 创建名为 Inventory 的新表:

    CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT);
  3. 将数据插入新表:

    INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
  4. 键入 GO 运行上述命令:

    GO

选择数据

现在,运行查询以从 Inventory 表返回数据。

  1. 通过 sqlcmd 命令提示符输入查询,以返回 Inventory 表中数量大于 152 的行:

    SELECT * FROM Inventory WHERE quantity > 152;
  2. 运行以下命令:

    GO

退出 sqlcmd 命令提示符

  1. 要结束 sqlcmd 会话,请键入 QUIT

    QUIT
  2. 要在容器中退出交互式命令提示,请键入 exit。 退出交互式 Bash Shell 后,容器将继续运行。

删除容器

sudo docker stop sql1 sudo docker rm sql1

【参考文档】

Docker:为 Linux 上的 SQL Server 安装容器 - SQL Server | Microsoft Learn文章来源地址https://www.toymoban.com/news/detail-848995.html

到了这里,关于如何在ubuntu[linux] 上用docker安装Sqlserver的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux 基于 RHEL 的 Linux 发行版(例如 CentOS 和 Fedora)上用 shell 脚本安装 elasticsearch 指南

    使用基于 RHEL 的 Linux 发行版(例如 CentOS 和 Fedora)操作系统。 拥有root权限或者sudo权限。 1.首先,创建一个名为install_elasticsearch.sh的文件,并打开该文件以编辑 2.然后,将以下内容粘贴到install_elasticsearch.sh文件中 3.保存并关闭文件 4.运行安装脚本 5.等待脚本执行完成,这可能

    2024年02月01日
    浏览(44)
  • linux(ubuntu)安装Docker教程-超详细超简单

    1、首先进入管理员权限。 2、更新软件源。 3、安装一些依赖 4、为系统添加Docker的密钥 5、添加Docker源,这里我们选择的是stable稳定版 6、再次更新源 7、查看有哪些Docker版本可以安装 8、这里我们安装安装Docker的社区版 9、输入 docker ,即可检查是否安装成功。 10、启动Docke

    2024年02月16日
    浏览(52)
  • 使用Docker安装sqlServer

    使用Docker安装sqlServer 第一步: 使用docker拉取镜像 第二部 : 创建容器 这里映射的端口是1433 可自行修改 (必须是复杂密码否则无法启动自行设置)这里的密码为 111 请自行修改. 第三部 启动客户端连接即可

    2024年02月14日
    浏览(28)
  • 如何在Ubuntu 18.04上安装Docker

    选项1:使用默认存储库在Ubuntu上安装Docker 第1步:更新软件存储库 更新本地软件数据库以确保可以访问最新版本。 打开终端并输入: 第2步:卸载旧版本的Docker 建议继续之前卸载任何旧的Docker软件。 使用命令: 第3步:在 Ubuntu 18.04 上安装Docker 在 Ubuntu 上安装Docker,打开终端

    2023年04月26日
    浏览(49)
  • Linux(7)Ubuntu20.04 arm64安装Docker

    vi /etc/apt/sources.list 这个命令后面跟了几个软件包的名字,它们分别是: apt-transport-https:这个软件包允许apt使用HTTPS协议来访问软件源。 ca-certificates:这个软件包提供了一些受信任的证书颁发机构的证书,用来验证HTTPS连接的安全性。 curl:这个软件包提供了一个命令行工具,

    2024年02月10日
    浏览(62)
  • 如何在 Ubuntu 20.04 上安装和使用 Docker

    前些天发现了一个人工智能学习网站,通俗易懂,风趣幽默,最重要的屌图甚多,忍不住分享一下给大家。点击跳转到网站。 介绍 Docker是一个可以简化 容器 中应用程序进程管理过程的应用程序。容器允许你在资源隔离的进程中运行应用程序。它们与虚拟机类似,但容器更可

    2024年01月17日
    浏览(47)
  • ubuntu20.04如何安装nvidia-docker?

    导入 NVIDIA GPG 密钥 添加 NVIDIA Docker 存储库 安装 nvidia-container-toolkit 检查nvidia-docker是否安装成功 如果 nvidia-docker 安装成功,命令将启动一个包含 NVIDIA GPU 的容器并运行 nvidia-smi 命令,该命令可以显示有关 GPU 状态的信息。输出结果将显示 GPU 型号、显存大小、温度等信息。 如

    2024年02月15日
    浏览(49)
  • 【GitLab私有仓库】如何在Linux上用Gitlab搭建自己的私有库并配置cpolar内网穿透?

    GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。 Gitlab是被广泛使用的基于git的开源代码管理平台, 基于Ruby on Rails构建, 主要针对软件开发过程中产生的代码和文档进行管理, Gitlab主要针对group和project两个维度进行代码和

    2024年02月12日
    浏览(50)
  • M2下通过docker安装sqlserver

    前提:安装好docker 第一步:在终端下查找sqlserver的镜像文件 注意:但是这些版本应该都不适配M2,尝试了一个最新版本,没有安装成功,提示如下; 因为是M2,所以很多软件都不兼容,顺着这个思路去百度,发现有人安装这个镜像文件,说是安装成功了,然后我们就先搜索一

    2024年02月11日
    浏览(50)
  • 新的Ubuntu服务器上如何安装深度学习环境的docker

    背景: 硬件:联想的双3090显卡 总共 48GB显存 4TB 刀片式服务器。 软件:只安装了nvidia的驱动,能用nvidia-smi查看显卡信息,但是 nvcc -V看不到东西。 镜像包是 nvidia_cu11_tf15.tar,里面包含 公司nvidia驱动和环境里的TensorFlow,torch 是不一样的。一开始担心 是不是 要 降级 Ubuntu下的

    2024年02月10日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包