此文档需要在docker安装后操作

安装

  • 查询镜像
1
  sudo docker search mssql 
  • 拉取镜像
1
  sudo docker pull mcr.microsoft.com/mssql/server:2017-latest    
  • 运行镜像

其中SA_PASSWORD=Kute@2018中Kute@2018为SA的密码 可以对应更改

1
2
3
4
  sudo docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Kute@2018' \
  -v /home/docker/data/mssql:/var/opt/mssql \
  -p 1433:1433 --name sql1 -h mssql \
  -d mcr.microsoft.com/mssql/server:2017-latest

连接配置

  • 修改密码 可不进行修改
1
2
3
  sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd \
  -S localhost -U SA -P '<YourStrong!Passw0rd>' \
  -Q 'ALTER LOGIN SA WITH PASSWORD="<YourNewStrong!Passw0rd>"'
  • 连接进sql server
1
  sudo docker exec -it sql1 "bash"
  • 进入容器后,使用sqlcmd进行本地连接。

默认情况下,Sqlcmd不在路径中,因此您必须指定完整路径。

1
  /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '<YourNewStrong!Passw0rd>'

创建数据库、查询数据

  • 进去sql server
1
  /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'Kute@2018'
  • 创建数据库
1
2
3
4
  CREATE DATABASE TestDB #创建数据库
  SELECT Name from sys.Databases #查询数据库名称
  #前两个命令没有立即执行,你必须键入GO新行才能执行以前的命令
  GO
  • 插入数据
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
  #切换到新的TestDB数据库
  use TestDB
  
  #创建新表Inventory
  CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
  
  #将数据插入新表
  INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
  #键入GO以执行以前的命令
  GO
  • 查询数据
1
2
3
4
  #该查询返回Inventory数量大于152 的表中的行
  SELECT * FROM Inventory WHERE quantity > 152;
  #键入GO以执行以前的命令
  GO
  • 退出会话
1
  QUIT

参考:官方文档