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