在Docker中体验数据库之Microsoft SQL Server

  前面记录了一下在docker中体验mongodb和mysql。今天记录一下mssql……其实早就体验了,就是没有记录,前几天看了一下2019的一些新闻,很喜欢Polybase这个特性,想体验一把,可惜在linux上不支持,不支持就不支持吧!不知道以后会不会支持。

  因为是n天之前体验的不知道现在怎么样了,于是决定再跑一下,接着就去docker官网看了一下,却发现之前用的那个搬家了

  

  现在是这个东东:mcr.microsoft.com/mssql/server

  运行环境:ubuntu1804

  再次操作一遍之后觉得安装docker、非sudo操作、安装镜像等就比较简单了,不像第一次那样无助……安装完了之后,使用就比较熟悉了。mongodb、mysql、mssql都有对应的cmd或者是GUI……不多说了,上截图

  上图中指出:密码长度最少8位,Polybase特性不可用(不知道是不是没有打开);什么是 PolyBase?

  

  使用到的命令

1、docker images
2、docker pull mcr.microsoft.com/mssql/server
3、docker images
4、docker ps -a
5、docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=@bc123' -p 1401:1433 --name mssql0 -d mcr.microsoft.com/mssql/server
6、docker logs -f mssql0 // 查看日志(长度至少为8,具体的可以看截图;另外日志中提到Polybase特性不可用)
7、docker rm mssql0 // 删除容器
8、docker ps -a
9、docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=@bc123qwe' -p 1401:1433 --name mssql0 -d mcr.microsoft.com/mssql/server
10、docker ps -a   //此时就可以远程连接了
11、docker exec -it mssql0 "bash"  // 进入容器
12、/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '@bc123qwe'
// 也可以使用IP地址
// /opt/mssql-tools/bin/sqlcmd -S 192.168.0.108,1401 -U SA -P '@bc123qwe'
    12.1、CREATE DATABASE TestDB
    12.2、go
    12.2、USE TestDB
    12.3、CREATE TABLE Table1 (id INT, name NVARCHAR(50), quantity INT);
    12.4、INSERT INTO Table1 VALUES (1, 'banana', 150); INSERT INTO Table1 VALUES (2, 'orange', 154);
    12.5、go
    12.6select * from table1
    12.7、go
13、sudo docker cp /home/u1/桌面/test1.sql mssql0:/home  // 拷贝文件
14、/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '@bc123qwe' -i /home/test1.sql //执行.sql文件

15、/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '@bc123qwe' -Q 'CREATE DATABASE SampleDB'  //这种方式也可以创建数据库

  到此体验结束。

  参考文章:

  快速入门:使用 Docker 运行 SQL Server 容器映像

  sqlcmd - 运行 Transact-SQL 脚本文件

  在 Linux Docker 容器中的将 SQL Server 数据库还原

posted @ 2019-03-19 22:06  du-blog  阅读(2599)  评论(1编辑  收藏  举报