快速部署 Docker 中的 SQL Server 安装指南
前言
在如今,容器化概念越来越盛行,.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: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#知识
推荐阅读
-
在Docker中部署 GitLab 中文社区版本的安装指南
-
轻松两步快速部署汉化版Gitlab Docker安装指南
-
如何轻松使用Docker-compose快速部署GitLab中文版本的详细指南
-
全新!一步步教你轻松下载与安装SQL Server 2012的简易指南
-
简易教程:Sql Server 2012的下载、安装与启动指南(含资源链接与激活密钥)
-
快速入门:Docker的安装与镜像加速设置指南
-
在 CentOS 7 系统中快速部署 ADB 安装指南
-
【2022新手指南】Java编程进阶之路 - 六、技术架构篇 ### MySQL索引底层解析与优化实战 - 你会讲解MySQL索引的数据结构吗?性能调优技巧知多少? - Redis深度揭秘:你知道多少?从基础到哨兵、主从复制全梳理 - Redis持久化及哨兵模式详解,还有集群搭建和Leader选举黑箱打开 - Zookeeper是个啥?特性和应用场景大公开 - ZooKeeper集群搭建攻略及 Leader选举、读写一致性、共享锁实现细节 - 探究ZooKeeper中的Leader选举机制及其在分布式环境中的作用 - Zab协议深入剖析:原理、功能与在Zookeeper中的核心地位 - RabbitMQ全方位解读:工作模式、消费限流、可靠投递与配置策略 - 设计者视角:RabbitMQ过期时间、死信队列与延时队列实践指南 - RocketMQ特性和应用场景揭示:理解其精髓与差异化优势 - Kafka详细介绍:特性及广泛应用于实时数据处理的场景解析 - ElasticSearch实力揭秘:特性概述与作为搜索引擎的广泛应用 - MongoDB认知升级:非关系型数据库的优势阐述,安装与使用实战教学 - BIO/NIO/AIO网络模型对比:掌握它们的区别与在网络编程中的实际应用 - Netty带你飞:理解其超快速度背后的秘密,包括线程模型分析 - 网络通信黑科技:Netty编解码原理与常用编解码器的应用,Protostuff实战演示 - 解密Netty粘包与拆包现象,怎样有效应对这一常见问题 - 自定义Netty心跳检测机制,轻松调整检测间隔时间的艺术 - Dubbo轻骑兵介绍:核心特性概览,服务降级实战与其实现益处 - Dubbo三大神器解读:本地存根与本地伪装的实战运用与优势呈现 ----------------------- 七、结语与回顾
-
快速了解与部署 PostgreSQL 15 的安装及基础操作指南
-
快速部署 Docker 中的 SQL Server 安装指南