mssqlserver+docker部署

如何快速搭建MSSQL Server 2017 测试环境

mssqlserver+docker部署

1. 具备条件
1.服务器需要大于2G内存。如果不够则可能无法正常启动,查看日志报如下错误:
This program requires a machine with at least 2000 megabytes of memory

2. 已部署好docker 环境

3仓库中搜索相关mssql数据库信息

 docker search mssql
[root@node1 ~]# docker search mssql
INDEX       NAME                                                            DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/microsoft/mssql-server-linux                          Deprecated SQL Server on Linux Container R...   1215                 
docker.io   docker.io/microsoft/mssql-server-windows-developer              Official Microsoft SQL Server Developer Ed...   439                  
docker.io   docker.io/microsoft/mssql-server-windows-express                Official Microsoft SQL Server Express Edit...   368                  
docker.io   docker.io/microsoft/mssql-tools                                 Official images for Microsoft SQL Server C...   51                   
docker.io   docker.io/rsmoorthy/mssql                                       MSSQL Database (version SQL2000)                12                   [OK]

4. 下载镜像 mssql-server-linux

docker pull   docker.io/microsoft/mssql-server-linux 

5. 查看刚才下载镜像信息

docker image ls
REPOSITORY                                           TAG                 IMAGE ID            CREATED             SIZE
docker.io/microsoft/mssql-server-linux               latest              314918ddaedf        22 months ago       1.35 GB

6. 查看镜像详细信息可以查看mssqlserer内部版本是 14.0.3048.4

docker inspect   docker.io/microsoft/mssql-server-linux 

7. 运行mssql

docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=sa123SA?' -p 33061:1433  --name sqlserver -d docker.io/microsoft/mssql-server-linux 

指定参数和密码
容器名:sqlserver
镜像名:docker.io/microsoft/mssql-server-linux
容器内端口1433,对外暴露端口33061

8. 查看运行的mysql容器

[root@node1 ~]# docker ps -l
CONTAINER ID        IMAGE                                    COMMAND                  CREATED             STATUS                      PORTS               NAMES
af092620c2b6        docker.io/microsoft/mssql-server-linux   "/opt/mssql/bin/sq..."   22 seconds ago      Exited (1) 21 seconds ago                       sqlserver

可以看到 status 是 Exited (1) 21 seconds ago 报错了。

9. 查看报错内容,就是上面提到的内存要大于2G

[root@node1 ~]# docker logs sqlserver
sqlservr: This program requires a machine with at least 2000 megabytes of memory.

10. 本环境使用虚拟机,扩大内存后再启动

docker start sqlserver 
  1. 查看运行的mysql容器,mssql 容器内端口1433,对外暴露端口33061
[root@node1 ~]# docker ps -l
CONTAINER ID        IMAGE                                    COMMAND                  CREATED             STATUS              PORTS                     NAMES
af092620c2b6        docker.io/microsoft/mssql-server-linux   "/opt/mssql/bin/sq..."   9 minutes ago       Up 14 seconds       0.0.0.0:33061->1433/tcp   sqlserver
  1. 登录 sqlserver 容器
[root@node1 ~]# docker exec -it sqlserver bash
root@29af0884be94:/# 
  1. 链接 sqlserver
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P sa123SA?
  1. 执行mssql ,查看有那些数据库最后加GO执行
1> SELECT Name from sys.Databases
2> GO
Name                                                                                                                            
--------------------------------------------------------------------------------------------------------------------------------
master                                                                                                                          
tempdb                                                                                                                          
model                                                                                                                           
msdb 
  1. 创建数据库
create database mytest 
GO

16. 可以自由发挥了

17. 退出mssql

quit
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值