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

Docker安装SQL Server

mac安装mysql教程(docker版本)(sql 小虚竹)

mac安装mysql教程(docker版本)(sql 小虚竹)