zoukankan      html  css  js  c++  java
  • 在Docker中使用Microsoft SQL Server数据库

    下图中对SQL Server容器创建及数据库创建等操作进行了记录,方便自己日后查看。(文中的 * 仅表示隐藏自己的个人信息,手动马赛克,哈哈~)

    Docker下载可看上一篇博文mac系统,docker下载安装

    (下图为拉取完毕之后,使用docker ps查看当前运行容器的情况为起始,即没有将第一步与第二步记录。有空补上)

    图片存储在个人相册中

    1. 从 Microsoft 容器注册表拉取 SQL Server 2017 Linux 容器映像。

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

      

    2. 使用以下命令运行Docker容器映像

    docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=<YourStrong!Passw0rd>' 
       -p 1433:1433 --name sql1 
       -d mcr.microsoft.com/mssql/server:2017-latest
    

    这里的 <YourStrong!Passw0rd> 即设置你的数据库密码(注意:这里的密码要符合密码规则)「默认情况下,密码必须至少为 8 个字符长,且包含三个以下四种字符集的字符:大写字母、 小写字母、 十进制数字和符号」。至少8个字符的密码数,其中包括大写/小写/数字/符号这四种中的三种。

    这里的 sql1 即是你给这个容器映像取的名称

    3. 查看容器

    docker ps -a
    

     若只看当前运行的容器则只需输入 docker ps 命令即可

    4. 进入容器命令

    docker exec -it sql1 "bash"
    

    5. 在容器内使用使用 sqlcmd 进行本地连接(也可以使用vs Code进行连接数据库,具体可参考使用vscode创建运行sql脚本 和 使用vscode开发一个项目

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

      

    6. 创建数据库

    CREATE DATABASE TestDB
    go
    

      

    7. 在数据库中插入数据

    USE TestDB
    CREATE TABLE Table1 (id INT, name NVARCHAR(50), quantity INT);
    INSERT INTO Table1 VALUES (1, 'banana', 150); INSERT INTO Table1 VALUES (2, 'orange', 154);
    go
    

      

    8. 查看数据库中表的数据命令

    select * from table1
    go
    

      

    9. 退出容器

    exit
    

      

    将项目中所要用到的数据库拷贝进容器中,再执行sql文件创建数据库

    10. 首先进入本地的sql文件目录下

    cd /Users/y*zi/codeProjects/C***z/scripts/database
    

     进入到该目录之后,使用 ls 查看该目录下所包含的文件

    11. 拷贝该目录下的sql文件到指定容器中

    docker cp /Users/y*zi/codeProjects/C***z/scripts/database/c****gs.sql wzsql:/home
    

      

    12. 进入容器 docker  exec -it wzsql "bash" , 使用命令执行拷贝到容器中的sql文件

    /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'Ti****30' -i /home/c****gs.sql
    

      

    至此,项目中所需要的数据库就在docker中创建完成了。mac系统中使用了Azure Data Studio进行连接数据库,执行sql导入数据

    参考

    在Docker中体验数据库之Microsoft SQL Server

    使用Docker运行SQL Server容器映像

  • 相关阅读:
    VSCode settings.json的配置样例
    用css让div高度自动撑满屏幕
    C# 后端接受前端上传的文件
    netcode 控制台项目生成exe文件
    C# UDP发送和接收
    C# 直播录制视频
    Vs2017 FrameWork EF Mysql Mvc 三层整合1
    Vs2017 FrameWork EF Mysql 控制台应用
    Vs2017 NetCode EF Mysql 控制台应用
    Vs2017 NetCode Mvc EF Mysql 整合2
  • 原文地址:https://www.cnblogs.com/songyan/p/11213868.html
Copyright © 2011-2022 走看看