深度优先

这个家伙好懒,除了文章什么都没留下

0%

【Docker】安装SqlServer

不知为何之前docker安装sql server运行一会就会自动退出了,参照这篇博客的好像就不会了
转自:https://www.jianshu.com/p/f57297abf820
步骤

  1. 调整 docker 内存大小为4G
  1. 下载 SQL Server 镜像

    1
    2
    sudo docker pull microsoft/mssql-server-linux:2017-latest

  2. 启动 SQL Server 容器,命令如下:

    1
    2
    3
    4
    5
    6
    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为初始密码,可以自己修改)

  3. 查看 SQL Server 容器是否启动成功:
    sudo docker ps -a ,status 字段为 up 则执行成功。
    重启容器命令为:

    1
    2
    3
    4
    sudo docker start dbe02b992333

    其中dbe02b992333为通过`sudo docker ps -a`查询到的容器 ID

  4. 修改 SA(system administrator) 密码
    通过 docker exec 命令执行 sqlcmd 可以修改 SA 密码。命令如下:

    1
    2
    3
    4
    sudo docker exec -it sql-server /opt/mssql-tools/bin/sqlcmd \
    -S localhost -U SA -P 'Asdfgh123' \
    -Q 'ALTER LOGIN SA WITH PASSWORD="qazWSX123"'

  5. 连接数据库,通过 sql-server 命令行工具 sqlcmd ,在容器内部连接到 SQL Server
    通过 docker exec -it 命令打开运行中容器的交互 shell。命令如下:

    1
    sudo docker exec -it sql-server "bash"

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

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

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

    1
    2
    3
    CREATE DATABASE TestDB
    SELECT Name from sys.Databases
    GO
  6. 外部访问 SQL Server

  • 安装 sqlcmd,前提已经安装了 nodejs(node 安装请自行搜索)。执行命令: npm install -g sqlcmdjs
  • 执行查询命令
    1
    2
    sqlcmd -s 127.0.0.1 -o 1401 -u SA -p "qazWSX123" "select name, database_id from sys.databases"

    返回正确的值,表明查询成功。
  1. 删除容器,命令如下:
    1
    2
    3
    sudo docker stop sql-server
    sudo docker rm sql-server

  2. 正常运行

10.外部管理工具连接,注意IP和端口间用,分开

参考文献

  1. Run the SQL Server 2017 container image with Docker 作者:浮梁翁
    链接:https://www.jianshu.com/p/f57297abf820
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。