此文档需要在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
    

参考:官方文档