zoukankan      html  css  js  c++  java
  • Docker 安装部署Sql Server

    前言

      在如今,容器化概念越来越盛行,.Net Core项目也可以跨平台部署了,那么思考下Sql Server能不能呢?当然是可以的啦。本文今天就是介绍Docker部署配置和连接Sql Server。本文基于Centos7

    配置Docker链接Sql Server

      前提条件(至少2 GB的磁盘空间。至少2 GBRAM)。我们现在开始配置安装:

      查询并找到Docker Hub 上Microsoft SQL Server的介绍。

           

      然后根据这个上docker拉取镜像

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

      查看镜像并允许此镜像

    docker images
    sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=MyPassWord123"  -p 1433:1433 --name sql1  -d mcr.microsoft.com/mssql/server:2017-latest

      然后查看是否允许成功

    Docker ps -a

      出现下图这样既允许成功,显示UP(如果失败的话通过docker logs 容器名进行查看错误日志)

     

      然后这里我们就配置了SQL Server,接下来我们实际进入容器内操作。

    sudo docker exec -it sql1 "bash"
    
    /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "MyPassWord123"

      然后现在就可以进行日常的数据库操作了,输入命令后执行Go结束

     

        创建库

    CREATE DATABASE TestDB

        使用库、创建表

    USE TestDB
    
    CREATE TABLE Inventory (id INT, LastName NVARCHAR(50), FirstName NVARCHAR(50))

        查询表

    Select * from  Inventory

        查询用户创建的表

    select name from sysobjects where type = 'U'

      系统表sysobjects保存的都是数据库对象,其中type表示各种对象的类型,具体包括:

      U = 用户表

      S = 系统表

      C = CHECK 约束

      D = 默认值或 DEFAULT 约束

      F = FOREIGN KEY 约束

      L = 日志

      FN = 标量函数

      IF = 内嵌表函数

      P = 存储过程

      PK = PRIMARY KEY 约束(类型是 K

      RF = 复制筛选存储过程

      TF = 表函数

      TR = 触发器

      UQ = UNIQUE 约束(类型是 K

      V = 视图

      X = 扩展存储过程及相关的对象信息。

      

    其他配置

      一、更改sa的登录密码

    sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd  -S localhost -U SA -P "MyPassWord123"  -Q 'ALTER LOGIN SA WITH PASSWORD="MyPassWord456"'

      二、保留数据

      • 将主机目录装载为数据卷
    docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=MyPassWord456' -p 1433:1433 -v  /var/opt/mssql -d mcr.microsoft.com/mssql/server:2017-latest
      •  使用数据卷容器
    docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=MyPassWord456' -p 1433:1433 -v sqlvolume:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2017-latest

      三、删除或退出容器

         删除容器:docker rm 容器名

        删除镜像:docker rmi 镜像名

        退出容器;Ctrl+D


        夫志当存高远,慕先贤,绝情欲,弃疑滞,使庶几之志,揭然有所存,恻然有所感;忍屈伸,去细碎,广咨问,除嫌吝,虽有淹留,何损于美趣,何患于不济。

        若志不强毅,意不慷慨,徒碌碌滞于俗,默默束于情,永窜伏于平庸,不免于下流矣。

     欢迎大家扫描下方二维码,和我一起学习更多的C#知识  

       

  • 相关阅读:
    django wsgi nginx 配置
    supervisor error: <class 'socket.error'>, [Errno 110]
    gunicorn 启动无日志
    获取windows 网卡GUID和ip信息
    亚马逊EC2根硬盘空间扩容
    pypcap 安装
    mysql 1709: Index column size too large. The maximum column size is 767 bytes.
    mysql死锁检查
    D3.js画思维导图(转)
    用D3.js画树状图
  • 原文地址:https://www.cnblogs.com/hulizhong/p/11271739.html
Copyright © 2011-2022 走看看