zoukankan      html  css  js  c++  java
  • Docker教程:在Linux系统上面通过Docker安装SQL Server数据库

    一、前言

    现在.NET Core已经跨平台了,支持Windows、Linux、Mac系统,而我们也已经在Linux上面使用了Docker。使用.NET开发的人使用最多的就是SQL Server数据,以前是只能在Windows系统上使用,但是从SQL Server 2017开始支持运行在docker上了,也就是说现在SQL Server可以在Linux上运行了。

    本篇文章将会介绍如何使用docker安装SQL Server。这里使用的是Contos7,其他版本的Linux操作系统也一样。使用的数据库是SQL Server 2017。

    二、安装SQL Server

    1、拉取SQL Server镜像

    要在Docker中安装SQL Server,首先要有SQL Server的镜像,所以第一步是拉取SQL Server镜像

    sudo docker pull mcr.microsoft.com/mssql/server:2017-latest

    如图所示

    2、创建目录

    我们知道,Docker容器一旦删除了,那么容器里面的数据也会丢失,所以我们在宿主机上面创建一个目录,用来挂载容器内的目录。

    mkdir /etc/sqlserver_data

    如图所示

    3、运行容器

    有了镜像之后,我们就可以根据镜像去运行容器了。

    sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=P@ssw0rd," -p 1433:1433 --name sqlserver2017 -v /etc/sqlserver_data:/var/opt/mssql  -d mcr.microsoft.com/mssql/server:2017-latest

    我们对上面的命令做如下的解释

    1. -e "SA_PASSWORD=P@ssw0rd,":这里是给SA用户设置登录密码,这里设置的密码是P@ssw0rd,。
    2. -v /etc/sqlserver_data:/var/opt/mssql:表示/etc/sqlserver_data目录挂载到容器的/var/opt/mssql目录,这个目录是用来存储数据库文件的,所以最好挂载到容器外部,避免因为不小心删除容器而丢失数据。
    3. -p 1433:1433:表示宿主机的1433端口映射到容器的1433。

    如图所示

    4、使用命令进入SQL Server

    容器运行以后,我们使用exec命令进入SQL Server内部

    docker exec -it sqlserver2017 /bin/bash

    如图所示

    这样我们就进入了容器内部,然后执行下面的命令:

    /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<YourNewStrong@Passw0rd>"

     在示例中的命令如下:

    /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P P@ssw0rd,

    如果成功,应会显示 sqlcmd 命令提示符:1>

    如图所示

     执行下面的命令,查询数据

    select name from sys.Databases

    如图所示

    可以查询出结果。

    我们通过命令的方式创建数据库,然后创建表,并插入一些数据。

    5、使用SSMS登录SQL Server数据库

    上面我们是直接使用命令的方式操作数据库,我们还可以使用Microsoft SQL Server Management Studio(SSMS)进行登录Docker里面的数据库,然后通过图形化界面的方式操作数据库

    使用SSMS连接Linux上的SQL Server参考微软官方文档:https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-manage-ssms?view=sql-server-2017

    登录成功以后我们查询数据,如图所示

    我们往student表里面插入一条数据

    我们在Docker里面查看,看看数据有没有变化

    我们看到docker里面的数据也发生了变化。 使用SSMS操作数据库就跟在docker里面使用命令直接操作数据库一样。

    三、总结

    上面简单介绍了一下如何在Linux系统上通过Docker安装SQL Server数据库,安装好了以后,我们就可以使用SSMS操作Docker里面的数据库了,就跟在Windows上面安装的SQL Server操作一样了。更多内容可以参考微软官网文档:

    https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-docker?view=sql-server-2017&pivots=cs1-bash#connectexternal 

  • 相关阅读:
    LeetCode 623. Add One Row to Tree
    LeetCode 894. All Possible Full Binary Trees
    LeetCode 988. Smallest String Starting From Leaf
    LeetCode 979. Distribute Coins in Binary Tree
    LeetCode 814. Binary Tree Pruning
    LeetCode 951. Flip Equivalent Binary Trees
    LeetCode 426. Convert Binary Search Tree to Sorted Doubly Linked List
    LeetCode 889. Construct Binary Tree from Preorder and Postorder Traversal
    LeetCode 687. Longest Univalue Path
    LeetCode 428. Serialize and Deserialize N-ary Tree
  • 原文地址:https://www.cnblogs.com/dotnet261010/p/12600090.html
Copyright © 2011-2022 走看看