Docker安装SQL Server
Posted 被遗忘的区域
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker安装SQL Server相关的知识,希望对你有一定的参考价值。
本文教你如何快速通过Docker安装SQL Server
前置条件:服务器内存需要于2GB。
安装的版本:SQL Server2017
一、拉取镜像
docker pull mcr.microsoft.com/mssql/server:2017-latest
二、运行容器
docker run -e “ACCEPT_EULA=Y” -e “SA_PASSWORD=qwe20211114.” -p 1433:1433 --name sqlserver2017 -d mcr.microsoft.com/mssql/server:2017-latest
参数解释:
-e “ACCEPT_EULA=Y”:默认选择同意协议许可证
-e “SA_PASSWORD=qwe20211114.”:设置连接密码为qwe20211114.
-p 1433:1433: 宿主机端口映射到容器端口(前者为宿主机)
–name sqlserver2017:容器别名
-d: 后台运行
mcr.microsoft.com/mssql/server:2017-latest:镜像名称:标签
三、进入容器
(1)进入容器
docker exec -it sqlserver2017 /bin/bash
(2)连接数据库
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P “qwe20211114.”
(3)查询数据库
select name from sys.Databases
go
(4) 创建数据库
create database sqlserver2017_db
go
可以看到我们成功的创建好了一个数据库。
四、远程连接
本教程使用Navicat进行远程数据库链接测试,你可能会遇到远程连接失败问题,请检查服务器防火墙,或者安全组规则配置。SQL Server默认端口:1433
在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](https://www.cnblogs.com/du-blog/p/10561787.html)
[使用Docker运行SQL Server容器映像](https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-docker?view=sql-server-2017&pivots=cs1-bash)
以上是关于Docker安装SQL Server的主要内容,如果未能解决你的问题,请参考以下文章
在多台服务器上使用 mysql-server docker 容器创建 MySQL 集群
Cannot login to Docker account
使用Ansible拉动并运行mysql-server docker