之前一个项目人家要求用了全套的.NET体系包括页面的ASP还有后端的MSSQL。逼于无奈只能在本地模拟该环境来进行二次开发工作。而且本机是MBP,根本没有办法部署旧版的MSSQL,所以还是用Docker来弄一套吧。
由于是本机开发环境并不需要考虑服务器性能与挂载问题,所以部署起来还是比较随意的。
docker run -e 'ACCEPT_EULA=Y' \
-e 'MSSQL_SA_PASSWORD=123456' \
-p 1433:1433 \
--name sqlserver \
-d microsoft/mssql-server-linux:latest
从上面的脚本可以看出,除了指定了1433端口外,只需定义好MSSQL_SA_PASSWORD
参数基本上就可以使用了。由于ACCEPT_EULA
参数基本是固定的,所以上述的部署还是比较简单的。
ACCEPT_EULA:指定是否自动接受Microsoft软件许可条款。
执行以上语句之后就可以用客户端尝试连接,在MBP可以使用Navicat来连接MSSQL,但是这边推荐使用SQLPro for MSSQL
,这个客户端功能用起来还是比较好用的。
下面提供MAC的部署方式
docker run \
--name mssql \
--restart always \
--privileged=true \
-e 'ACCEPT_EULA=Y' \
-e 'MSSQL_SA_PASSWORD=P@ssw0rd' \
-e 'MSSQL_PID=Enterprise' \
-v /Users/yuanzhenhui/Documents/docker_data/mssql/:/var/opt/mssql/data/mydata/ \
-p 1433:1433 \
-d microsoft/mssql-server-linux:latest
在这里增加了privileged模式,mssql的pid和数据挂载地址,这样mssql就基本上能够用于长期使用了。