在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中使用Microsoft SQL Server数据库的更多相关文章
- 在易语言中调用MS SQL SERVER数据库存储过程方法总结
Microsoft SQL SERVER 数据库存储过程,根据其输入输出数据,笼统的可以分为以下几种情况或其组合:无输入,有一个或多个输入参数,无输出,直接返回(return)一个值,通过output ...
- Microsoft SQL Server 数据库 错误号大全
panchzh :Microsoft SQL Server 数据库 错误号大全0 操作成功完成. 1 功能错误. 2 系统找不到指定的文件. 3 系统找不到指定的路径. 4 系统无法打开文件. 5 拒 ...
- 在打包程序中自动安装SQL Server数据库 .
原文:在打包程序中自动安装SQL Server数据库 . 1.创建安装项目“Setup1”安装项目 在“文件”菜单上指向“添加项目”,然后选择“新建项目”. 在“添加新项目”对话框中,选择“项目类型” ...
- Microsoft SQL Server 数据库
1. master 数据库 master 数据库记录 SQL Server 系统的所有系统级别信息.它记录所有的登录帐户和系统配置设置.master 数据库是这样一个数据库,它记录所有其它的数据库,其 ...
- Jmeter—8 连接microsoft sql server数据库取数据
本文以Jmeter 连接microsoft sql server为例. 1 从微软官网下载Microsoft SQL Server JDBC Driver 地址:http://www.microsof ...
- Jmeter入门8 连接microsoft sql server数据库取数据
本文以Jmeter 连接microsoft sql server为例. 1 从微软官网下载Microsoft SQL Server JDBC Driver 地址:http://www.microsof ...
- 在 Windows Azure 虚拟机中使用 Microsoft SQL Server 安全功能
编辑人员注释:本文章由 SQL Server 团队高级项目经理 Sung Hsueh 撰写. SQL Server 的最新用法之一是利用 Microsoft 的 Windows Azure 基础结构服 ...
- Python 使用Microsoft SQL Server数据库
软件环境: Windows 7 32bit Python 3.6 Download https://www.python.org/downloads/ 默认安装,并添加环境变量,一路Next ... ...
- core 中ef 连接sql server数据库 在类库中 自动生成 model
首先 介绍 Scaffold-DbContext "Server=.;database=sdd;User Id=sa;Password=123456;" Microsoft.Ent ...
随机推荐
- new Vue发生了什么(五)
从入口代码开始分析,我们先来分析 new Vue 背后发生了哪些事情.我们都知道,new 关键字在 Javascript 语言中代表实例化是一个对象,而 Vue 实际上是一个类,类在 Javascri ...
- Linux C++ 直接选择排序,冒泡排序,快速排序
选择排序的思想是:每次从待排序中选择最小(大)的元素插入已经排好的序列中. /*直接选择排序*/ #include <iostream> using namespace std; void ...
- 高效完成R代码
为什么R有时候运行慢? 参考https://www.cnblogs.com/qiaoyihang/p/7779144.html 一.为什么R程序有时候会很慢? 1.计算性能的三个限制条件 cpu ra ...
- 《深入理解Java虚拟机》读书笔记五
第六章 类文件结构 1.无关性的基石 各种不同平台的虚拟机与所有平台都统一使用程序存储格式——字节码是构成平台无关的基石. 实现语言无关性的基础仍然是虚拟机和字节码存储格式,Java虚拟机不和包括Ja ...
- 解决 IDEA 无法提示导入 java.util.Date 的问题
之前有一段时间在使用IDEA的时候,发现通过快捷键Alt + Enter导入并没有提示有java.util.Date的包,仅仅只有java.sql.Date的包.于是每次使用都需要通过手写import ...
- 什么是kafka,怎么使用? (2) - 内含zookeeper等
zookeeper依赖于java https://baike.baidu.com/item/yum/2835771?fr=aladdin http://yum.baseurl.org/ 去yum官网下 ...
- EF CodeFirst 一对一、一对多、多对多关系
一对一关系 如图,无需专门指定,系统会默认在Person表中生成字段Pet_Id为Pet表的外键(一对一). Require:必要的(一对一) Optional:可选的(一对零) Principa ...
- Leetcode找三个数字的和满足xx条件的题目总结15➕16➕259
双指针最基础的题目是一个区间里找两个数字的和等于Target.首先将区间从小到大排序.接下来只要一个le指针,一个ri指针,分别从区间左右边界往中间推进即可.复杂度是排序的nlogn. 下面几道题都是 ...
- JavaScript对象之get/set方法
我们可以重写js对象属性的get和set方法. 从上图我们可以看出set和get的语法. 上图则是使用set和get方法对对象的属性进行了输入校验. 从上图可得若对象的原型链上具有不可配置的同名属性( ...
- 【译】通过 Rust 学习解析器组合器 — Part 1
原文地址:Learning Parser Combinators With Rust 原文作者:Bodil 译文出自:掘金翻译计划 本文永久链接:https://github.com/xitu/gol ...