Linux系统通过Docker安装SQL Server数据库

 更新时间:2022年03月26日 09:12:48   作者:.NET开发菜鸟  
这篇文章介绍了Linux系统通过Docker安装SQL Server数据库的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、前言

现在.NET Core已经跨平台了,支持Windows、Linux、Mac系统,而我们也已经在Linux上面使用了Docker。使用.NET开发的人使用最多的就是SQL Server数据,以前是只能在Windows系统上使用,但是从SQL Server 2017开始支持运行在docker上了,也就是说现在SQL Server可以在Linux上运行了。

本篇文章将会介绍如何使用docker安装SQL Server。这里使用的是Contos7,其他版本的Linux操作系统也一样。使用的数据库是SQL Server 2017。

二、安装SQL Server

1、拉取SQL Server镜像

要在Docker中安装SQL Server,首先要有SQL Server的镜像,所以第一步是拉取SQL Server镜像

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

如图所示

2、创建目录

我们知道,Docker容器一旦删除了,那么容器里面的数据也会丢失,所以我们在宿主机上面创建一个目录,用来挂载容器内的目录。

mkdir /etc/sqlserver_data

如图所示

3、运行容器

有了镜像之后,我们就可以根据镜像去运行容器了。

sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=P@ssw0rd," -p 1433:1433 --name sqlserver2017 -v /etc/sqlserver_data:/var/opt/mssql  -d mcr.microsoft.com/mssql/server:2017-latest

我们对上面的命令做如下的解释

  • -e "SA_PASSWORD=P@ssw0rd,":这里是给SA用户设置登录密码,这里设置的密码是P@ssw0rd,。
  • -v /etc/sqlserver_data:/var/opt/mssql:表示/etc/sqlserver_data目录挂载到容器的/var/opt/mssql目录,这个目录是用来存储数据库文件的,所以最好挂载到容器外部,避免因为不小心删除容器而丢失数据。
  • -p 1433:1433:表示宿主机的1433端口映射到容器的1433。

如图所示

4、使用命令进入SQL Server

容器运行以后,我们使用exec命令进入SQL Server内部

docker exec -it sqlserver2017 /bin/bash

如图所示

这样我们就进入了容器内部,然后执行下面的命令:

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<YourNewStrong@Passw0rd>"

 在示例中的命令如下:

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P P@ssw0rd,

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

如图所示

执行下面的命令,查询数据

select name from sys.Databases

如图所示

可以查询出结果。

我们通过命令的方式创建数据库,然后创建表,并插入一些数据。

5、使用SSMS登录SQL Server数据库

上面我们是直接使用命令的方式操作数据库,我们还可以使用Microsoft SQL Server Management Studio(SSMS)进行登录Docker里面的数据库,然后通过图形化界面的方式操作数据库

使用SSMS连接Linux上的SQL Server参考微软官方文档:https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-manage-ssms?view=sql-server-2017

登录成功以后我们查询数据,如图所示

我们往student表里面插入一条数据

我们在Docker里面查看,看看数据有没有变化

我们看到docker里面的数据也发生了变化。 使用SSMS操作数据库就跟在docker里面使用命令直接操作数据库一样。

三、总结

上面简单介绍了一下如何在Linux系统上通过Docker安装SQL Server数据库,安装好了以后,我们就可以使用SSMS操作Docker里面的数据库了,就跟在Windows上面安装的SQL Server操作一样了。更多内容可以参考微软官网文档:

https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-docker?view=sql-server-2017&pivots=cs1-bash

到此这篇关于Linux系统通过Docker安装SQL Server数据库的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • docker swam集群如何实现负载均衡

    docker swam集群如何实现负载均衡

    这篇文章主要介绍了docker swam集群如何实现负载均衡问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Docker搭建php环境教程详解

    Docker搭建php环境教程详解

    这篇文章主要介绍了Docker搭建php环境教程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • Docker手动构建JDK镜像的实现示例

    Docker手动构建JDK镜像的实现示例

    本文主要介绍了 Docker手动构建JDK镜像的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08
  • Docker教程之Ubuntu 安装 Docker详细介绍

    Docker教程之Ubuntu 安装 Docker详细介绍

    这篇文章主要介绍了Docker教程之Ubuntu 安装 Docker详细介绍的相关资料,需要的朋友可以参考下
    2016-12-12
  • 如何使用docker部署前端应用的方法步骤

    如何使用docker部署前端应用的方法步骤

    这篇文章主要介绍了如何使用docker部署前端应用的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • Mac上将brew安装的MySql改用Docker执行操作过程

    Mac上将brew安装的MySql改用Docker执行操作过程

    本文分步骤给大家介绍Mac上将brew安装的MySql改用Docker执行操作过程的知识,本文给大家介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起看看吧
    2016-11-11
  • 关于docker cgroups资源限制的问题

    关于docker cgroups资源限制的问题

    cgroups是一个非常强大的linux内核工具,他不仅可以限制被namespace隔离起来的资源,还可以为资源设置权重、计算使用量,这篇文章主要介绍了docker cgroups资源限制,需要的朋友可以参考下
    2022-09-09
  • Docker 自定义Dev环境并部署php

    Docker 自定义Dev环境并部署php

    这篇文章主要介绍了Docker 自定义Dev环境(部署PHP),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01
  • Docker实践之python应用容器化

    Docker实践之python应用容器化

    这篇文章主要介绍了Docker实践之python应用容器化,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06
  • docker中的jenkins之流水线构建项目步骤详解

    docker中的jenkins之流水线构建项目步骤详解

    jenkins有2种流水线分为声明式流水线与脚本化流水线,脚本化流水线是jenkins旧版本使用的流水线脚本,新版本Jenkins推荐使用声明式流水线,本文给大家介绍docker中的jenkins之流水线构建项目,感兴趣的朋友一起看看吧
    2023-08-08

最新评论