背景试想一下这种情况,你负责的某个项目数据源有SQL Server、Oracle和MySQL,假设现在不让你访问生产库,也没有测试库给你用,你就只有一台开发电脑,要你做开发你怎么做?
你肯定会说,这问题还不简单吗?在开发电脑上安装这些数据库不就行了?答案是可以,但是偏题了嘛,你要在一台电脑上同时装SQL Server、Oracle和MySQL,能做到秒级?起码得废半天劲儿吧
话说n年前我也遇到过这种需求,必须得在我那破笔记本上装个SQL Server,装完占用硬盘10G多,用了一上午才装完,都不用干活儿了,等就完事,卸载还可能卸载不干净
我们的核心需求是搭建个测试环境,或者临时用一下,就不用过多优化,一个字,快就完事了,那么有秒级搭建的方法么?
有,下面Docker上场,docker是什么就不用过多介绍了,以前写了很多篇文章介绍,注意,docker是全平台支持的,但是如果是在非linux环境下,我建议先装个Linux虚拟机,然后在虚拟机里面装docker,这么做的原因是非Linux环境下发行的docker desktop其实也是自己内置了一个Linux虚拟机,一个手动挡,一个自动挡的区别,我建议你用自动挡,这样更清楚原理一些
如果你还没有安装docker,先装一个吧,我以前写过一篇全平台安装docker的文章【史上最全(全平台)docker安装方法!】,可以作为参考
- windows:https://docs.docker.com/docker-for-windows/install/
- mac OS:https://docs.docker.com/docker-for-mac/install/
- Linux:https://docs.docker.com/engine/install/
- 快速启动
- 资源隔离
https://hub.docker.com/_/microsoft-mssql-server
这是微软官方出品的基于Ubuntu的SQL Server docker镜像,看下最新版镜像大小(2021-04-30),1.49G,真香
mcr.microsoft.com/mssql/server latest 62c72d863950 3 weeks ago 1.49GB
秒级启动命令:# 启动SQL Server,如果是Docker Desktop要把单引号改成双引号docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSword=yourStrong(!)Password' -e 'MSSQL_PID=Developer' -p 1433:1433 -d --name MSSQL_1433 mcr.microsoft.com/mssql/server# 进入容器内docker exec -it MSSQL_1433 /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P yourStrong(!)Password# 创建数据库CREATE DATABASE testDBgo
然后就可以用下面这套参数连接数据库了主机:127.0.0.1端口:1433数据库:testDB用户名:sa密码:yourStrong(!)Password
下面是环境变量的解释- ACCEPT_EULA:全称Accept End-User Licensing Agreement,接收最终用户许可证协议,必须得接收嘛,不然微软不给你用
- SA_PASSWORD:全称System Administrator Password,系统管理员密码,密码必须是8位以上的大小写字母和数字/特殊符号的组合 。
- MSSQL_PID:全称Microsoft SQL Server Product Id,SQL Server的产品ID,默认是Developer
- Developer : 默认值,以开发版运行
- Express : 以学习版运行
- Standard : 以标准版运行
- Enterprise : 以企业版运行
- EnterpriseCore : 以企业核心版运行
https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-configure-environment-variables?view=sql-server-2017
OracleOracle数据库有Express Edition(精简版,简称xe)和Enterprise Edition(企业版,简称ee),xe版本我没找到任何官方的镜像,ee倒是有Oracle官方镜像,但是要使用的话必须填下面这玩意儿,emmmm,还是算了吧,这一点也不符合我们的题意:秒级
文章插图
搜索大法好,找个评分高的镜像
docker search OracleNAME STARSoraclelinux 756 jaspeen/oracle-11g 172 oracleinanutshell/oracle-xe-11g 155wnameless/oracle-xe-11g-r2 59absolutApps/oracle-12c-ee 48
通过搜索发现jaspeen/oracle-11g 和oracleinanutshell/oracle-xe-11g评分高,前者我看过了比较繁琐,也不符合我们的题意,那就
oracleinanutshell/oracle-xe-11g吧
推荐阅读
- 从零搭建推荐系统—算法篇
- 实时计算框架:Spark集群搭建与入门案例
- Windows下搭建Jenkins+Jmeter+Ant 自动测试环境
- RabbitMQ环境搭建
- 监控工具之Zabbix,搭建过程和使用心得
- 黄蜡石奇石价格 各类石头化石图片
- 厦门花茶骗局,盘点茶圈中的各类骗局教你排坑四大招
- 塔牌各类丽春有什么区别,如何做水果茶简单方法
- 阿里万亿交易量级下的秒级监控
- 菩提子手串多少钱,金刚菩提子手串多少钱