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#知识  

   

posted @ 2019-07-31 09:11  小世界的野孩子  阅读(16717)  评论(0编辑  收藏  举报
回到顶部