前言

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

配置Docker链接Sql Server

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

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

       

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

 docker pull mcr.microsoft.com/mssql/server:-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(), FirstName NVARCHAR())

    查询表

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 : -v  /var/opt/mssql -d mcr.microsoft.com/mssql/server:-latest
    • 使用数据卷容器
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=MyPassWord456' -p : -v sqlvolume:/var/opt/mssql -d mcr.microsoft.com/mssql/server:-latest

  三、删除或退出容器

   删除容器:docker rm 容器名

    删除镜像:docker rmi 镜像名

    退出容器;Ctrl+D


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

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

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

   

Docker 安装部署Sql Server的更多相关文章

  1. 微软ASP.NET网站部署指南(2):部署SQL Server Compact数据库

    1. 综述 对于数据库訪问,Contoso University程序要求以下的软件必须随程序一起部署.由于不属于.NET Framework: SQL Server Compact (数据库引擎) A ...

  2. docker安装部署、fastDFS文件服务器搭建与springboot项目接口

    一.docker安装部署 1.更新yum包:sudo yum update 2.安装需要的软件包,yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动 ...

  3. Docker安装部署Rancher

    # 一.Rancher简介 [Rancher](https://www.cnrancher.com/rancher/)是一个开源的企业级容器管理平台.通过Rancher,企业再也不必自己使用一系列的开 ...

  4. 安装了SQL2005再安装SQL 2008R2,提示此计算机上安装了 Microsoft Visual Studio 2008 的早期版本和检查是否安装了 SQL Server 2005 Express 工具的解决方案

    工作电脑上安装了SQL 2005, 但是客户电脑上安装的是SQL 2008R2,有时候连接他们的库调试没法连接,很不方便.然后又安装了个SQL2008 R2,期间遇到这两个问题,网上搜索了一下收到了解 ...

  5. 在Win8.1系统下如何安装运行SQL Server 2005 (以及安装SQL Server 2005 Express打补丁)

    在Win8.1系统下SQL Server 2005 安装失败怎么办? 需要替换两个文件及打sqlserver sp4补丁. 以下是操作过程. 按正常情况,在Win8/Win8.1系统下安装微软的SQL ...

  6. 安装完sql server 后修改计算机名后不能进行发布的订阅的解决办法

    由于需要需要配置一个发布订阅,可是一直报告:" sql server 复制需要有实际的服务器名称才能连接到服务器,不支持通过别名.ip地址或其他任何备用名称进行连接.请指定实际的服务器名称“ ...

  7. 使用docker安装部署Spark集群来训练CNN(含Python实例)

    使用docker安装部署Spark集群来训练CNN(含Python实例) http://blog.csdn.net/cyh_24/article/details/49683221 实验室有4台神服务器 ...

  8. win7(windows 7)系统下安装SQL2005(SQL Server 2005)图文教程——转载

    操作系统:Microsoft Windows 7 旗舰版(32位) 数据库版本:SQL Server 2005 简体中文开发板 数据库下载链接:http://pan.baidu.com/share/l ...

  9. 使用Docker运行Microsoft SQL Server 2017

    最近每天都在空闲时间努力编写Apworks框架的案例代码WeText.在文本发布和处理微服务中,我打算使用微软的SQL Server for Linux来做演示,于是也就在自己的docker-comp ...

随机推荐

  1. Python|网页转PDF,PDF转图片爬取校园课表~

    import pdfkit import requests from bs4 import BeautifulSoup from PIL import Image from pdf2image imp ...

  2. RequestMappingHandlerAdapter和RequestParam原理分析

    我们要使用定义了RequestMapping方法或者类是,需要先准备好所需要的参数.如何准备参数,我们应该考虑些上面问题. 都有哪些参数需要绑定? 除了方法确定的参数,还有两个方法的参数需要绑定,那就 ...

  3. Python调试器-pdb的使用

    [简介] pdb是python自带的一个包,为python程序提供了一种交互的源代码调试功能. [使用方法] 1. 使用命令: python -m pdb xxx.py #可以直接进入单步执行模式 2 ...

  4. spring cloud 系列第1篇 —— eureka 服务的注册与发现 (F版本)

    源码仓库地址:https://github.com/heibaiying/spring-samples-for-all 一.eureka 简介 Spring Cloud Eureka使用Netflix ...

  5. Spring Batch 入门级示例教程

    Spring Batch 入门级示例教程 我将向您展示如何使用Spring Boot创建一个的Spring Batch的Hello World示例. (循序渐进) 因此,如果您是Spring Batc ...

  6. 第一章 corejava的入门

    第一章 corejava的入门一:什么是语言语言=os+数据结构+算法+思想os:操作系统数据结构:队,栈,二叉树,链表算法:做游戏开发时非常重要面试题:int a>0,b>0只使用一条输 ...

  7. HTML连载19-子元素选择器&交集选择器

    一.子元素选择器 1.定义:找到指定标签中所有特定的直接子元素,然后设置属性 2.格式: 标签名称一>标签名称2{ 属性:值: } 3.释义:先找到叫做“标签名称1”的标签,然后在这个标签中查找 ...

  8. Oracle insert all用法简介

    insert all是oracle中用于批量写数据的 现在直接通过例子学习一下,比较简单直观,例子来自<收获,不止SQL优化>一书 环境准备 create table t as selec ...

  9. Linux上安装Nginx依赖环境和库、Nginx安装,Nginx服务命令

    安装Nginx依赖环境和库.Nginx安装,Nginx服务命令 因为Nginx官方提供的是C源码,要自己进行编译,所以需要自己拥有编译所依赖的环境和库才可正常编译 安装gcc yum -y insta ...

  10. python的输入和输出

    基本输出 python中的输出使用关键字--print,与python2不同的是,python3的输出后面必须要加括号,示例如下: python3.0以上输出: python2.0以上的输出: 格式化 ...