docker安装 sql-server

步骤

  1. 调整 docker 内存大小为4G

  2. 下载SQL Server镜像

    sudo docker pull microsoft/mssql-server-linux:2017-latest
    
  3. 启动SQL Server容器,命令如下:

    sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=Asdfgh123' \
       -p 1401:1433 --name sql-server \
       -d microsoft/mssql-server-linux:2017-latest
    
    具体参数意义,请参看微软文档。(MSSQL_SA_PASSWORD为初始密码,可以自己修改)
    
  4. 查看SQL Server容器是否启动成功:
    sudo docker ps -a,status 字段为 up 则执行成功。
    重启容器命令为:

    sudo docker start dbe02b992333
    
    其中dbe02b992333为通过`sudo docker ps -a`查询到的容器 ID
    
  5. 修改 SA(system administrator) 密码
    通过 docker exec命令执行 sqlcmd 可以修改 SA 密码。命令如下:

    sudo docker exec -it sql-server /opt/mssql-tools/bin/sqlcmd \
    -S localhost -U SA -P 'Asdfgh123' \
    -Q 'ALTER LOGIN SA WITH PASSWORD="qazWSX123"'
    
  6. 连接数据库,通过 sql-server 命令行工具 sqlcmd,在容器内部连接到 SQL Server
    通过docker exec -it命令打开运行中容器的交互 shell。命令如下:

    sudo docker exec -it sql-server "bash"
    

    其中sql-server的值就是创建容器时命名的值
    进入容器之后,可以通过 sqlcmd 连接上本地的 SQL Server。命令如下:

    /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'qazWSX123'
    

    如果出现>提示符,则表示登录成功。
    执行操作:

    CREATE DATABASE TestDB
    SELECT Name from sys.Databases
    GO
    
  7. 外部访问 SQL Server

    • 安装 sqlcmd,前提已经安装了 nodejs(node 安装请自行搜索)。执行命令:npm install -g sqlcmdjs

    • 执行查询命令

      sqlcmd -s 127.0.0.1 -o 1401 -u SA -p "qazWSX123" "select name, database_id from sys.databases"
      

    返回正确的值,表明查询成功。

  8. 删除容器,命令如下:

    sudo docker stop sql-server
    sudo docker rm sql-server
    

参考文献

  1. Run the SQL Server 2017 container image with Docker
    原文作者:浮梁翁
    原文地址: https://www.jianshu.com/p/f57297abf820
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞