docker安装 sqlserver2017 或者 2008

本文详细介绍了如何在Docker环境下配置和启动SQLServer2017和2008的镜像,包括设置最小内存要求、拉取镜像、启动容器、设置许可协议、SA密码以及数据库用户。此外,还讲解了如何进入容器操作数据库和使用命令行进行数据库的还原操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、必要条件

服务器的运行内存必须大于2GB

二、拉取2017镜像

docker pull mcr.microsoft.com/mssql/server:2017-latest

三、启动镜像

docker run --name sqlserver2017 --restart always  -v  /home/ceshi1:/var/opt/mssql -d -e 'ACCEPT_EULA=Y' -e  SA_PASSWORD='qwer!@#123' -p 1433:1433   mcr.microsoft.com/mssql/server:2017-latest
  1. -e "ACCEPT_EULA=Y" :提示您接受最终用户许可协议。如果您不同意,安装将不会继续
  2. -e "SA_PASSWORD=qwer!@#123":设置管理员SA的密码(必填参数,密码大于八位,并包含特殊符号)
  3. -p 1433:1433:宿主机端口:容器端口
  4. --name sqlserver2017:设置当前容器的名称。
  5. -d mcr.microsoft.com/mssql/server:2017-latest:-d表示后台方式启动 后面的是 镜像的名称
  6. -v /home/mssql:/var/opt/mssql :-v 挂载目录(映射目录), 宿主机目录:容器内目录
  7. --restart always:设置容器根据docker一起启动

四、拉取2008镜像

docker pull exoplatform/sqlserver

五、启动2008镜像

docker run --name sqlserver2008 --restart always  -v  /home/ceshi2:/var/opt/mssql -d -e 'ACCEPT_EULA=Y'  -e SA_PASSWORD='qwer!@#123' -e SQLSERVER_DATABASE=demo -e SQLSERVER_USER=jige -e SQLSERVER_PASSWORD='qwer!@#123'   -p 1433:1433 exoplatform/sqlserver
  1. -e SQLSERVER_DATABASE=demo:创建一个叫 demo 的数据库
  2. -e SQLSERVER_USER=jige :demo数据库添加了一个用户叫 jige
  3. -e SQLSERVER_PASSWORD='qwer!@#123':设置鸡哥用户的密码

六、进入docker容器操作数据库

6.1进入容器
docker exec -it sqlserver2017 /bin/bash

docker exec -it 容器id或者容器名称 /bin/bash

6.2进入数据库
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "qwer!@#123"

七、使用命令行还原数据库

使用 RESTORE FILELISTONLY 命令来列出备份文件中的逻辑文件名,然后使用正确的逻辑文件名来执行还原操作。

docker exec -it <容器名称或ID> /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '<密码>' -Q "RESTORE FILELISTONLY FROM DISK='/opt/要还原的数据库名称'"

执行出来差不多是这样的。
在这里插入图片描述
然后拿到相关的名称执行 还原语句

docker exec -it <容器名称或ID> /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '<密码>' -Q "RESTORE DATABASE 数据库名称 FROM DISK='你的数据库备份文件.bak的' WITH MOVE '你第1处的名称叫什么这里就写什么 比如 1.dat' TO '你的mdf文件放在你容器的什么位置 比如 /opt/text.mdf', MOVE '你第2处的名称叫什么这里就写什么 比如 2.log' TO '你的ldf文件放在你容器的什么位置 比如 /opt/text.ldf';"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

往日时光--

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值