前面记录了一下在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.6、select * 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 数据库还原